失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 手写SHA1加密算法(Java版)

手写SHA1加密算法(Java版)

时间:2022-05-15 21:40:38

相关推荐

手写SHA1加密算法(Java版)

开发微信公众号过程中,需要使用sha1加密算法与微信api对接,特此学习下sha1算法的实现。

1:安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。

2:1byte等于二进制8位,则分成高四位和第四位进行加密解析。由于15在二进制中表示为"00001111",则和15低四位与(&)运算,运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;

代码如下:

//sha1加密private static String sha1(String src) {try {//获取加密对象MessageDigest md = MessageDigest.getInstance("sha1");//加密byte[] digest = md.digest(src.getBytes());//sha1加密后结果只能是如下数组的数值char[] chars = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};//拼接加密后的字符串StringBuffer sb = new StringBuffer();//处理加密结果for (byte b : digest) {//1byte代表8位(二进制),分别对高四位和低四位进行与运算,得到chas对应的数值sb.append(chars[(b>>4)&15]);sb.append(chars[b&15]);}return sb.toString();} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return null;}

如果觉得《手写SHA1加密算法(Java版)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。