为了账号安全,请及时绑定邮箱和手机立即绑定

最赞回答 / 水不要鱼_
你有没有发现MD5 加密之后的长度是一样的,不管原本的信息有多长?这是因为 MD5 是摘要算法,有点类似于从你要加密的信息中选取一部分信息出来加密,所以即使你得到了 MD5 加密之后的结果,也很难从一部分信息中反推出原本的完整信息。另外,MD5 也是存在被破解的情况,那就是最传统的破解方法,从一堆数据中一个个去试。所以, MD5 可以设置一个盐值,类似于干扰信息,可以降低被破解的概率。

最新回答 / 慕粉2333001784
你应该是对一个对象用了toString方法,所以才会这样,你再看看你需要输出的到底是什么?用GET方法后再toString或许就可以了

最新回答 / 蝶梦疏妄
可能是转义的时候出的问题因为我 public static void bcHmacMD5() { HMac hmac = new HMac(new MD5Digest()); hmac.init(new KeyParameter(org.bouncycastle.util.encoders.Hex.decode(""))); hmac.update(src.getBytes(), 0, src.getBytes().length); // ...

最新回答 / vita_强
老师只是提供了你一种学习的思路,但是实际运用过程中,很多知识还是要自己去总结的

最新回答 / taoy
一个byte是八比特,new String时按照byte的值到字符表中找对应的字符来生成字符串。Hex.byteArrayToString是把一个byte变成两个十六进制的英文与数字组合,内容当然就不会一样。

最新回答 / duhua
成功通过

最新回答 / 无语的人
不一定是10个,key的元素个数是偶数就行。以下是CC的Hex.decodeHex()方法的文档注释:<...图片...>BC报这个异常的原因应该类似。

最赞回答 / 明日之春
这个是因为DigestUtils.sha1Hex(src)中是默认使用UTF-8的编码格式来获取字节数组的,而DigestUtils.sha1Hex(src.getBytes())是用系统默认的编码格式来获取字节数组的,不一定是UTF-8。由于字节数组不同,所以结果也不同所以DigestUtils.sha1Hex(src)应该等于DigestUtils.sha1Hex(src.getBytes("UTF-8"))

最新回答 / 汉江怪人
没什么意义吧。。。
首页上一页12下一页尾页
课程须知
1、需具备Java面向对象的基础知识 2、需要学习加解密的基础,具体内容请见《Java实现Base64加密》课程的第一章
老师告诉你能学到什么?
1、能够使用Java实现MD、SHA和MAC三种消息摘要算法进行加密 2、能够了解消息摘要算法的应用场景

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消