encryption - 加密/解密个人数据
问题描述
我有一个场景,我需要加密个人(非敏感)数据,如姓名、电话号码、地址等。这个想法是使用 AES 和 128 位密钥。我应该使用存储在配置文件中某处的相同密钥来加密所有用户的数据吗?或者我们应该为每个用户生成一个新的密钥,并将其存储在每个用户对应的数据库中。
解决方案
对所有用户使用相同的密钥。
此外,不要将该密钥存储在数据库中,也不要在程序中硬编码。
最后,如果您使用 Windows,您可以做的一件事是使用Data Protection API加密该密钥。它解决了“我应该在哪里存储密钥”的主要问题......只要控制服务器上的物理访问。
推荐阅读
- react-native - 如何在 react-native 中创建渐变文本
- node.js - req.body 在将 bodyParser urlencoded 设置为扩展为 false 后返回未定义
- node.js - 在我的域之外使我的休息服务不可用
- php - cakephp:添加后按 ID desc 排序索引
- javascript - 如何从反应上下文中获取数据
- c# - 启动进程时添加多个参数c#
- mobile - 如何使用传单实时提取用户经纬度
- asp.net - ASCX 控件中的 ASP.NET 计时器嵌入在 ASPX 页面回发中
- r - 错误:向量内存耗尽(达到限制?)R 3.5.0 macOS
- c# - MongoDB C# 驱动程序创建索引