我现在所知道的情况
优点:
缺点:
还有其他优缺点吗?大家可以补充下么
1
AngryMagikarp 2020-05-06 11:54:24 +08:00 1
第一个根本不算优点,你需要知道用户密码干嘛,除非你本来就想通过这种手段钓鱼,然后去黑用户的其他帐号,比如邮箱什么的。
在这个系统里,你要做的任何操作都可以绕过密码验证,因为系统就是你们自己开发的。 |
2
zqqian 2020-05-06 11:55:36 +08:00
要知道用户的密码?
你是搞黑产的吗?用来撞库? |
3
lizytalk 2020-05-06 11:56:31 +08:00 via iPhone
可以知道用户密码是缺点好么....
|
4
ysc3839 2020-05-06 11:56:59 +08:00
如果“可以知道用户密码”属于优点的话,那不加密直接存储密码会更优,因为少了加密过程,理论上不加密的性能更高,占用空间更少 (不需要保存密钥)。
|
5
zooo 2020-05-06 11:58:02 +08:00
国内公司保存密码保存明文了吗?
|
6
churchmice 2020-05-06 12:08:37 +08:00
他娘的为何要保存密码?你加盐 hash 一下不就好了吗
|
7
JJstyle 2020-05-06 12:20:56 +08:00 via iPhone
加狗头你以为 v 友就不喷你了吗 🐶)
|
8
dallaslu 2020-05-06 12:33:29 +08:00
想知道用户密码并不一定要明文存啊,客户端传输过来时记录到任何地方都行。
|
9
yanqing07 OP @AngryMagikarp 我也觉得有点道理。系统是你的,用户使用了,那是不是有权处置用户的密码。貌似现在法律又没有这种限制。。。
|
11
ipwx 2020-05-06 14:09:56 +08:00
这是因为客户想要把这些用户导入到另一个商业系统。但是,原系统的密码都是 hash 后的密码。所以,现在希望用对称加密,这样就能还原密码了
---- 下次用户登录的时候,通过验证了,就把内存中的密码用一下,但你们也不存储。这是最符合道德的做法。 |
12
msg7086 2020-05-07 04:16:52 +08:00
用对称加密保存用户密码,就等于不加密保存用户密码。
不加密保存用户密码的优缺点你应该都知道了。 用户导入另一个系统可以双系统同时认证,即登录的时候如果另一个系统里没有设置密码,则用原系统 hash 验证,然后直接将通过验证的原始密码设置进新系统。整个过程明文密码在内存里也就存在几毫秒的时间,基本是安全的。 如果客户的目的是得到明文密码,那么直接存明文密码就行了。毕竟明文密码终究是可得的,加密能有什么用呢。 |
13
yanqing07 OP |
14
lordofhollows 2020-05-07 12:07:46 +08:00
让客户提供一个密码,使用该密码生成非对称加密的私钥、公钥,用户密码使用公钥加密后存到数据库。
验证用户登录的时候,使用公钥加密用户密码后再与数据库中存的进行比对。 客户要导出数据时,提示输入密码,然后使用该密码和私钥将用户密码解密。 这样如果被拖库,也无法拿到用户密码明文。 缺点的话,如果客户把密码忘了,或者私钥丢了,用户密码就无法还原了。 |
15
yanqing07 OP @lordofhollows 这思路不错。谢谢你的建议
|