密码的一些存储方式和安全传输建议
密码在软件系统中扮演着至关重要的角色,其保存与传递过程中的安全性问题尤为关键,以防止信息泄露。
密码存储
服务器中的密码存储通常需进行加密处理。根据使用场景的不同,我们有两种主要的加密方式:可逆加密(AES)和非可逆加密(PBKDF2)。
可逆加密的存储方式
在客户端保存密码时,通常采用可逆加密。AES算法是其中的一种,它需要一个密钥来进行加密和解密。密钥的管理至关重要。一种常见做法是对密钥进行再次加密存储,但这似乎陷入了一个“鸡和蛋”的问题。为解决这一问题,我们可以采用以下策略:
1. 根密钥:此密钥不加密存储,文件权限设置为600。
2. 工作密钥:由根密钥加密得到,同样文件权限为600。
3. 密码使用工作密钥加密,不使用根密钥加密。
4. 为预防密钥泄露,建议定期更换密钥,一旦发现问题,能迅速解决并将影响降到最低。
非可逆加密的存储方式
非可逆加密更多用于服务端密码存储。服务端在验证密码时,有多种方法。最常见的是将客户端提供的明文密码加密后与服务器存储的密文进行对比。
非可逆加密通常与随机盐值结合使用。保护好随机盐值相对简单,其防护措施比可逆加密算法更为简便。
密码传输
在不同系统或进程间传输密码是一个挑战。
1. 不同系统间无法共享密钥,因此不能传输加密后的密码。
2. 通过命令行参数传输明文密码容易通过操作系统的ps命令被查看,存在安全隐患。
3. 环境变量是一个可行的解决方案。每个进程的环境变量保存在特定文件中,该文件权限设置为只有当前用户才能访问,从而保证了密码的安全性。即使使用root权限,也无法查看其他用户的环境变量。
确保密码的安全存储和传输需要我们深入理解各种加密算法和传输方式的特点,并采取合适的安全措施来防止信息泄露。
网络推广
- 密码的一些存储方式和安全传输建议
- win10家庭版怎么打开组策略?win10家庭版组策略打
- win10激活失败怎么办?win10激活不成功的解决办法
- HTML中的标签和元素的区别详解
- HP笔记本的三芯电源怎么改二芯实现充电?
- Javascript字符串截断 with DOM XSS的方法介绍
- Xbox One预览版Win10创造者更新内容大全
- ai怎么设计怎么绘制卡通老鼠形象插画-
- maya怎么关闭双面渲染-
- 滴滴打车再见?滴滴或将上线综合性出行计划
- 3dmax怎么建模休闲沙发模型-
- 网页制作解惑-图象文件的路径
- HTML超链接a标签_动力节点Java学院整理
- ie7打开页面有源文件但页面空白问题的解决方法
- CSS实现table td中文字的省略与显示(兼容IE与FF、
- 12306史上最奇葩验证码:正常用户可轻松识别 抢