java AES、SHA-1加密函数
来源:互联网 发布:javac 运行java文件 编辑:程序博客网 时间:2024/05/16 15:18
public static String AES(String content, String key) { if (key == null) { System.out.print("Key为空null"); return null; } // 判断Key是否为16位 if (key.length() != 16) { System.out.print("Key长度不是16位"); return null; } byte[] raw = key.getBytes(); SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); Cipher cipher = null; try { cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchPaddingException e) { // TODO Auto-generated catch block e.printStackTrace(); } // "算法/模式/补码方式" IvParameterSpec iv = new IvParameterSpec("0102030405060708".getBytes()); try { cipher.init(Cipher.ENCRYPT_MODE,skeySpec,iv); } catch (InvalidKeyException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvalidAlgorithmParameterException e) { // TODO Auto-generated catch block e.printStackTrace(); } byte[] encrypted; String msg=null; try { encrypted = cipher.doFinal(content.getBytes()); int totalLength = iv.getIV().length + encrypted.length; byte[] combine = new byte[totalLength]; System.arraycopy(iv.getIV(), 0, combine, 0, iv.getIV().length); System.arraycopy(encrypted, 0, combine, iv.getIV().length,encrypted.length); String baseEncoder = new BASE64Encoder().encode(combine);// 此处使用BASE64做转码 try { msg=URLEncoder.encode(baseEncoder, "UTF-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (IllegalBlockSizeException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (BadPaddingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return msg; }
/* * SHA-1加密 */ public String SHA1(String decript) { try { MessageDigest digest = java.security.MessageDigest .getInstance("SHA-1"); digest.update(decript.getBytes()); byte messageDigest[] = digest.digest(); // Create Hex String StringBuffer hexString = new StringBuffer(); // 字节数组转换为 十六进制 数 for (int i = 0; i < messageDigest.length; i++) { String shaHex = Integer.toHexString(messageDigest[i] & 0xFF); if (shaHex.length() < 2) { hexString.append(0); } hexString.append(shaHex); } return hexString.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return ""; } public static String bytetoString(byte[] digest) { String str = ""; String tempStr = ""; for (int i = 1; i < digest.length; i++) { tempStr = (Integer.toHexString(digest[i] & 0xff)); if (tempStr.length() == 1) { str = str + "0" + tempStr; } else { str = str + tempStr; } } return str.toLowerCase(); }
0 0
- java AES、SHA-1加密函数
- java sha-1加密函数
- md5 sha-1 des aes 加密
- MD5,sha1,sha,AES加密
- Java AES和SHA示例
- java 实现各种加密(MD5 ,SHA-1,SHA-256)
- AES加密解密&&SHA1、SHA加密&&MD5加密
- AES加密解密&&SHA1、SHA加密&&MD5加密
- AES加密解密 SHA1、SHA加密 MD5加密
- java:常见加密解密算法的实现:MD5/SHA/HMAC/DES/PBE/AES/RSA/D-H
- AES SHA-1 SM3 MD5
- 项目里面常用的加密方式base64、AES、MD5、sha-1
- sha-1 加密
- SHA-1加密
- 单向加密------SHA-1
- AES,MD5,RSA,SHA系列等各类加密解读
- AES,SHA,SHA1,MD5加密及解密技术
- JAVA md5、SHA加密类
- HDU 5100Chessboard(暴力)
- 【ETL】拉链表算法
- linux下各种解压,压缩命令
- Jdbc实现页面分页查询功能
- 最长递增子序列
- java AES、SHA-1加密函数
- Run loops 的具体执行顺序(ios oc)
- css 透明背景 文字不透明
- 『NYIST』第九届河南省ACM竞赛队伍选拔赛[正式赛二]--Codeforces -35D. Animals
- 提升SQLite数据插入效率低、速度慢的方法
- python模块及包
- HDU 5101Select(暴力二分)
- __weak typeof(self) weakSelf=self; __strong typeof(weakSelf) strongSelf = weakSelf;
- Git笔记