javaSHA1实现加密解密

封装一个方法用于加密

1 /** 2 * sha1加密 3 * @param data 4 * @return 5 * @throws NoSuchAlgorithmException 6 */ 7 public static String sha1(String data) throws NoSuchAlgorithmException { 8 //加盐 更安全一些 9 data += "lyz"; 10 //信息摘要器 算法名称 11 MessageDigest md = MessageDigest.getInstance("SHA1"); 12 //把字符串转为字节数组 13 byte[] b = data.getBytes(); 14 //使用指定的字节来更新我们的摘要 15 md.update(b); 16 //获取密文 (完成摘要计算) 17 byte[] b2 = md.digest(); 18 //获取计算的长度 19 int len = b2.length; 20 //16进制字符串 21 String str = "0123456789abcdef"; 22 //把字符串转为字符串数组 23 char[] ch = str.toCharArray(); 24 25 //创建一个40位长度的字节数组 26 char[] chs = new char[len*2]; 27 //循环20次 28 for(int i=0,k=0;i<len;i++) { 29 byte b3 = b2[i];//获取摘要计算后的字节数组中的每个字节 30 // >>>:无符号右移 31 // &:按位与 32 //0xf:0-15的数字 33 chs[k++] = ch[b3 >>> 4 & 0xf]; 34 chs[k++] = ch[b3 & 0xf]; 35 } 36 37 //字符数组转为字符串 38 return new String(chs); 39 }

主函数测试

1public static void main(String[] args) throws NoSuchAlgorithmException { 2 3 String data = "跳梁小豆tlxd666"; 4 String result = sha1(data); 5 System.out.println("加密后:"+result); 6 7 }
点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

浅谈加密算法 aes

一、目标搞了这么多期签名和加密解密,今天我们聊聊高大上的东西:加密算法。加密算法我们整体可以分为:不可逆加密算法和可逆加密算法。不可逆加密算法常见的不可逆加密算法有MD5,HMAC,SHA1、SHA224、SHA256、SHA384,和SHA512。他们的特点是,不能从加密后的结果解密出原文,主要用于校检数据的一致性,防止篡改数据,我们之前分析的大部分s

java实现SHA1加密算法

packageutil;importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;publicclassSha1{   publicstaticStringSHA1(Stringdecript){

DES与RSA加解密

加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。大体上分为双向加密 和单向加密 ,而双向加密又分为对称加密 和非对称加密(有些资料将加密直接分为对称加密和非对称加密)。 双向加密大体意思就是明文加密后形成密文,可以通过算法还原成明文。而

DES加密解密

DES加密解密涉及到的JAVA类Cipher此类为加密和解密提供密码功能。它构成了JavaCryptographicExtension(JCE)框架的核心。为创建Cipher对象,应用程序调用Cipher的getInstance方法并将所请求转换的名称传递给它。还可

Java 进行 RSA 加解密时不得不考虑到的那些事儿

Java进行RSA加解密时不得不考虑到的那些事儿博客分类:java1\.加密的系统不要具备解密的功能,否则RSA可能不太合适公钥加密,私钥解密。加密的系统和解密的系统分开部署,加密的系统不应该同时具备解密的功能,这样即使黑客攻破了加密系统,他拿到的也只是一堆无法破解的密