RSA到底怎么用?对应一个应用场景

白小衣 发布于 2015/07/01 23:12
阅读 1K+
收藏 1

我知道怎么去实现加密解密这个代码过程,但是不明白对应到实际应用中怎么用,比如一个系统我要加密用户密码,是不是我整个系统只需要一对公匙私匙?还是每个密码要一对;然后数据库是保持加密得到的byte二进制数组吗还是保存什么,时应该前台页面用公匙把密码加密吗?

加载中
0
G
GUOPINGBO

先说一些基础的东东吧,加密和解密是为了信息在传递过程中被他人知晓,对明文所做的混淆,看你举的这个场景,我感觉你对加密这一套的理解还有些欠缺。再多在网上学习一下吧。不过大体上也可以回答你的两个问题。

Q:比如一个系统我要加密用户密码,是不是我整个系统只需要一对公匙私匙?还是每个密码要一对

A: 不管是对称加密算法如AES的密钥(一个)还是非对称加密算法RSA的密钥(一对), 当然只需要一个(一对),要多个也没有意义,因为一个(一对)已经安全了哈。

Q: 然后数据库是保持加密得到的byte二进制数组吗还是保存什么,时应该前台页面用公匙把密码加密吗?

A: 当然是保存密文,反正看起来是乱码,当然你理解成BYTE数组也行。因为你选的是RSA一对密钥,所以你任选一个来加密,另一个解密就行了。

白小衣
白小衣
非常感谢
0
终曲
终曲
保存密码请用单向散列函数,不要用任何可逆算法,即使被爆库也拿不到明文。RSA主要的作用是防止消息被篡改,具体应用可以百度,存密码侧重的是防止明文暴露。
白小衣
白小衣
这个场景只是举例,主要是后面那几个问题啊。求大神指点指点
0
G
GUOPINGBO
你的应用场景用散列就行,没必要可逆。
白小衣
白小衣
这个场景只是举例,主要是后面那几个问题啊。求大神指点
0
首席撸出血
首席撸出血
系统用户的加密是用的是MD5加密,然后存入数据库,用户登录的时候就将用户输入的密码MD5加密然后和数据库的数据比对,如果相同就登录成功
0
G
GUOPINGBO
像 散列(HASH)这种映射算法,仅仅是为了不明文保存数据而已,是不可逆的,不能从密文(映射值)中还原出明文。所以它也不应该归为加密算法一类。
0
k
kchr
密码用 md5 处理是绝对错误的,应该用 bcrypt 或者 scrypt
k
kchr
绝对。即使加 salt 的 md5 也是极度不可靠的。 建议使用 bcrypt,用得很广。scrypt 更强,但相关的密码学分析还不多。
白小衣
白小衣
这么绝对么。。 你说那两种我都没接触过。
返回顶部
顶部