注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第6章“验证数据完整性--消息摘要算法”
4.1、SHA
原理:消息摘要长度(可以定量为加密后的字符串的长度)越长,安全性越高
实现方式:
下边只列出基于CC的工具类代码,至于基于JDK的代码可以参考“《Java加密与解密的艺术(第2版)》”,基于BC的代码可参考“慕课网”
4.1.1、基于CC的SHA加密算法
在我们需要采用相应的sha算法的时候,只需选用不同的函数即可(具体查询Commons Codec的API即可)。
jar包的引入以及代码的测试自己参考第二章的第一个例子进行即可,在测试的过程中,自己去试着看看“同一个消息多次进行SHA加密后结果是不是相同”;
在encode()方法的测试中判断两个byte[]是否相等:按索引依次比较两个字节数组中的元素是否相同即可(如果使用main方法去测的话);如果使用Junit,直接使用assertArrayEquals(array1,array2)即可。
原文:http://www.cnblogs.com/java-zhao/p/5084300.html