最近在研究数据库的加密方式,想问一下加密方式除了 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 ![]() 你说的这个叫 hash function,单向散列函数,不是加密方式,加密方式分为:对称和非对称加密 |
4 qyvlik 2020-02-15 12:16:27 +08:00 ![]() 你研究数据库的加密方式,但是你截图的是应该是数据库管理员的密码的 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 防止碰撞攻击。 |