Md5加密中文的坑
来源:互联网 发布:s7200plc通讯端口设置 编辑:程序博客网 时间:2024/06/06 09:50
遇到过加密中文参数,一直都是用一个通用的类来加密
public static String MD5(String str) { MessageDigest md5 = null; try { md5 = MessageDigest.getInstance("MD5"); }catch(Exception e) { e.printStackTrace(); return ""; } char[] charArray = str.toCharArray(); byte[] byteArray = new byte[charArray.length]; for(int i = 0; i < charArray.length; i++) { byteArray[i] = (byte)charArray[i]; } byte[] md5Bytes = md5.digest(byteArray); StringBuffer hexValue = new StringBuffer(); for( int i = 0; i < md5Bytes.length; i++) { int val = ((int)md5Bytes[i])&0xff; if(val < 16) { hexValue.append("0"); } hexValue.append(Integer.toHexString(val)); } return hexValue.toString(); }
比较正常的md5方法
public static String MD5(String inStr) { byte[] hash; try { hash = MessageDigest.getInstance("MD5").digest(inStr.getBytes("UTF-8")); } catch (NoSuchAlgorithmException var7) { throw new RuntimeException("MD5 should be supported?", var7); } catch (UnsupportedEncodingException var8) { throw new RuntimeException("UTF-8 should be supported?", var8); } StringBuilder hex = new StringBuilder(hash.length * 2); byte[] var6 = hash; int var5 = hash.length; for(int var4 = 0; var4 < var5; ++var4) { byte b = var6[var4]; if((b & 255) < 16) { hex.append("0"); } hex.append(Integer.toHexString(b & 255)); } return hex.toString(); }测试demo
阅读全文
0 0
- Md5加密中文的坑
- 关于Oracle针对中文的md5加密
- MD5加密以及cookie的中文存储
- MD5加密之中文
- md5中文加密不一致 c++
- MD5加密中文结果不一致
- 如何用c#实现对中文的md5加密
- 对中文进行MD5加密的注意事项(Java版)
- nodejs 解决md5加密的中文编码不一致问题
- 【小程序】中文转码的MD5加密
- MD5加密MD5的源代码
- python的MD5加密的一点坑
- C#的MD5加密
- Javascript的MD5加密
- Java的MD5加密
- Java的MD5加密
- java的md5加密
- MD5加密的改良
- Tempter of the Bone(dfs+奇偶剪枝)
- Ajax
- 本地不安装Oracle的PL/SQL连接指南
- Unity RPG游戏 资源地址
- 自定义Progress进度条
- Md5加密中文的坑
- 常用集合在多线程下的问题
- MySQL ERROR 1862 (HY000)
- Oracle一些特殊用法
- Leetcode 56. Merge Intervals
- 连接Mysql
- oracle-case
- FlV(H264+AAC)格式详细分析
- irq n: nobody cared (try booting with the "irqpoll" option)