Md5Hash设置加密次数之后,加密出来字符串还是1次加密的,导致加密验证失败,请问是什么原因?

来源:3-6 Shiro加密

慕无忌6316926

2020-07-12 11:40

用的Kotlin写的测试,测试了好多次,设置多次加密之后,加密出来的字符串还是1次加密

val md5Hash1 = Md5Hash("662429")
md5Hash1.iterations = 1
println(md5Hash1.toString())

val md5Hash3 = Md5Hash("662429")
md5Hash3.iterations = 3
println(md5Hash3.toString())

运行结果:

http://img3.mukewang.com/5f0a85f700017ae603620067.jpg


写回答 关注

2回答

  • zhangzy_java
    2020-09-19 12:04:18

    而且加密是不可逆的,如果多次加密的结果不同,那我们登录用密码的是明文,而数据库是加密过的密文,登录的时候如果此次生成的密文和当初注册时生成的密文不一致,那就不会登录成功,所以同一个字符串多次加密的密文都是一样的

  • zhangzy_java
    2020-09-19 11:58:46

    这个加密迭代器只是一个计数器,MD5加密是根据算法直接将字符串转换为唯一的密文,同一个字符串比如“123456”,无论加密多少次密文都是一样的,跟加密次数无关。

Shiro安全框架入门

从零入门Shiro安全框架

48036 学习 · 332 问题

查看课程

相似问题