最赞回答 / 宋兆恒
无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如应用MD5算法摘要的消息有128个比特位,用SHA-1算法摘要的消息最终有160比特位的输出,SHA-1的变体可以产生192比特位和256比特位的消息摘要。一般认为,摘要的最终输出越长,该摘要算法就越安全。
2017-03-02
最赞回答 / 明日之春
这个是因为DigestUtils.sha1Hex(src)中是默认使用UTF-8的编码格式来获取字节数组的,而DigestUtils.sha1Hex(src.getBytes())是用系统默认的编码格式来获取字节数组的,不一定是UTF-8。由于字节数组不同,所以结果也不同所以DigestUtils.sha1Hex(src)应该等于DigestUtils.sha1Hex(src.getBytes("UTF-8"))
2016-10-27
最新回答 / 谈笑泯过往丶
相对来还是叫安全的,如果你说的是截获摘要,那么请问,截获一次摘要,截获者是几乎不可能破译摘要的内容,那么密码就无法修改,你下次登录就会出现异地登录的提示,这样你就该修改密码了,网上有人提供MD5的解密网站,说是解密,其实就是大量数据信息对比,你输个123456的MD值获取能破解,再复杂一点点就破解不了了
2016-05-14
最赞回答 / 大LOVE辉
MD5是摘要算法,类似有损压缩一样,不能复原的,因此不能解密。 网上的使用一般是在用户点击提交的时候用js,或Java 加密后的密码存到数据库中,这时候别人如果打开数据库看也不知道你原来的密码是什么。但是你登录的时候输入密码后再重新用MD5摘要加密,看看出来的结果与数据库中是否一致,如果一致登录成功,不一致证明你输入错误了。 所以用MD5存密码,除了你谁都不知道密码是什么,但是如果你忘了也就不能去数据库看了,只能改密码,而不能找回。来自百度 ,谢谢采纳
2016-01-31
最新回答 / taoy
还原密钥的说法是不是不准确啊?我觉得是这样的:在使用Secretkey是,可以用系统生成的密钥:KeyGenerator keyGen = KeyGenerator.getInstance("HmacMD5");//指定生成密钥所使用的算法SecretKey key = keyGen.generateKey();//生成一个密钥,这里生成的密钥是符合算法的标准规范的密钥。如果不想麻烦也可以把字符串当作的密钥,就像老师代码中的十个a。有了这个key就可以保证以下代码生成的密钥是准确无误的了。SecretKe...
2015-12-28