最近在研究数据库的加密方式,想问一下加密方式除了 md5 和 SHA,可以自己设置加密方式吗? 像图中这种,是属于自己预设的加密方式吗 https://download.gtchan.com:2053/photo/mssql.png
1
des 2020-02-15 11:16:01 +08:00
简单看了一下,长度都一样,多半是 hash 之后 base64 了
|
2
rogwan 2020-02-15 11:22:56 +08:00 via iPhone
没必要,目前 sha256,sha512 足够安全的
|
3
huachuang20 2020-02-15 12:04:36 +08:00 via Android 1
你说的这个叫 hash function,单向散列函数,不是加密方式,加密方式分为:对称和非对称加密
|
4
qyvlik 2020-02-15 12:16:27 +08:00 1
你研究数据库的加密方式,但是你截图的是应该是数据库管理员的密码的 HASH,两个应该是不同的东西。
加密是可逆,加密后,通过密码可以恢复明文(对称加密)。 HASH 理论是不可逆,但是通过暴力计算、彩虹表可以找到摘要和明文的映射关系。 如果是在数据库中保存用户的密码,一般是使用多次的 HASH 函数做摘要,很少有通过加密方式保存用户密码的要求。 如果是保存用户的在其他平台的 key、token,就会用到加密。 数据库加密: 1. 字段加密,可以自己业务实现,可以多种 HASH + 对称加密 + 非对称加密组合。 2. 整体加密:可参考 [MySQL · 引擎特性 · InnoDB 表空间加密]( http://mysql.taobao.org/monthly/2018/04/01/),MSSQL 应该也有类似的方案。 |
5
gtchan13579 OP @qyvlik 已感谢 我再去研究研究
|
6
wnpllrzodiac 2020-02-15 18:51:55 +08:00 via Android
散列和加密解密不要混淆哦
|
7
wanguorui123 2020-02-28 12:10:06 +08:00
不可逆 Base64(HASH( key+salt )) 、不可逆 Base64(AES( key+vector )) 、不可逆 Base64(RSA( pk )),根据业务使用不同算法存放最终的结果。salt、vector 防止碰撞攻击。
|
8
wanguorui123 2020-02-28 12:10:27 +08:00
不可逆 Base64(HASH( key+salt )) 、可逆 Base64(AES( key+vector )) 、可逆 Base64(RSA( pk )),根据业务使用不同算法存放最终的结果。salt、vector 防止碰撞攻击。
|