public class MD5Test {

/***

* MD5加密 生成32位md5码

*

* @return 返回32位md5码

*/

public static String md5Encode(String inStr) throws Exception {

MessageDigest md5 = null;

try {

md5 = MessageDigest.getInstance("MD5");

} catch (Exception e) {

System.out.println(e.toString());

e.printStackTrace();

return "";

}

byte[] byteArray = inStr.getBytes("UTF-8");

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();

}

public static String string2MD5(String inStr) {

MessageDigest md5 = null;

try {

md5 = MessageDigest.getInstance("MD5");

} catch (Exception e) {

System.out.println(e.toString());

e.printStackTrace();

return "";

}

char[] charArray = inStr.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();

}

/**

* 加密

*/

public static String convertMD5(String inStr) {

char[] a = inStr.toCharArray();

for (int i = 0; i < a.length; i++) {

a[i] = (char) (a[i] ^ 't');

}

String s = new String(a);

return s;

}

/**

* 解密算法 (执行一次加密)进行两次解密

* @param str

* @return

*/

public static String md5Decode(String str) {

return convertMD5(convertMD5(str));

}

// 测试主函数

public static void main(String args[]) {

String s = new String("13917114404");

System.out.println("原始:" + s);

System.out.println("MD5后:" + string2MD5(s));

System.out.println("加密的:" + convertMD5(s));

System.out.println("解密的:" + convertMD5(convertMD5(s)));

}

}

java md5加密与解密_Java——MD5加密与解密相关推荐

  1. java md5加密解密_java MD5加密解密 | 学步园

    package com.md5; /** * @author 作者 E-mail: chenshaohua2012@126.com * @version 创建时间:2012-11-6 下午3:29:4 ...

  2. java dsa加密与解密_Java DSA 加密 | 解密

    Java DSA 加密 | 解密 什么是DSA ? DSA (Digital Signature Algorithm) 是 Schnorr 和 ElGamal 签名算法的变种,被美国 NIST 作为 ...

  3. java 字符串加密 解密_java字符串加密解密

    java字符串加密解密 try { String test = "123456789@fdj.com"; EncryptionDecryption des = new Encryp ...

  4. java 加密 c 解密_java处理加密文件---RSA加密和解密

    public class RSA { public static void main(String []args)throws Exception { String ptext = "he& ...

  5. java exchange 数字证书认证_java处理加密文件---数字证书文件格式(cer和pfx)的区别 - 数安时代(GDCA)SSL证书官网...

    java处理加密文件中常见的两种数字证书文件格式(cer和pfx) 数字证书文件格式(cer和pfx)的区别 1.带有私钥的证书 由Public Key Cryptography Standards ...

  6. java中完成md5加密解密_java实现md5加密解密 notNET中加密和解密的实现方法

    java实现md5加密解密 notNET中加密和解密的实现方法 亦或是旅途风光 7-14 1918℃ 22 [ ee21.cn - ASP.NET ] .NET将原来独立的API和SDK合并到一个框架 ...

  7. java md5 16位解密_Java实现MD5(32/16位)大小写加密

    MD5简单介绍 大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为公安机关鉴别罪犯身份最值得信赖的方法:与之类似,MD5就可以为任何文件(不管其大小.格式.数量)产生一个同样独一无二的&quo ...

  8. java ldap添加用户名密码_java ldap用户密码md5加密

    在这里不过多介绍ldap,因为这样的文章特别多,这里就简单直接的记录这一个问题. 在springboot中通过引入spring-boot-starter-data-ldap,使用LdapTemplat ...

  9. Java使用MD5加盐对密码进行加密处理,附注册和登录加密解密处理

    前言 在开发的时候,有一些敏感信息是不能直接通过明白直接保存到数据库的.最经典的就是密码了.如果直接把密码以明文的形式入库,不仅会泄露用户的隐私,对系统也是极其的不厉,这样做是非常危险的. 那么我们就 ...

  10. 常见的加密和解密算法—MD5

    转载:https://www.cnblogs.com/maohuidong/p/7967257.html 常见的加密和解密算法-MD5 一.MD5加密概述 Message Digest Algorit ...

最新文章

  1. Python运算符还有能这样用?
  2. BI+Tableau
  3. 光流估计:从传统方法到深度学习
  4. Tomcat关闭日志catalina.out
  5. wireshark读写pcap文件_PCAP-file-analysis 利用wireshark捕获tcp ip数据包和pcap文件分析 - 下载 - 搜珍网...
  6. mysql where不能用聚合函数_Mysql聚合函数对where语句筛选结果的影响
  7. mysql的to 打印_如何在MySQL存儲過程中模擬打印
  8. t–sql pl–sql_SQL View –完整的介绍和演练
  9. 系统报 “client没有所需的特权” 的解决方法
  10. Computing the cost J(θ)----吴恩达机器学习作业
  11. 【python爬虫】反反爬之破解js加密--入门篇:谷歌学术镜像搜索(scmor.com)
  12. postman设置成中文
  13. virtualBox安装拓展包extension pack失败 --解决办法
  14. 这个世界的本源不是物质,而是物质背后的基本秩序-柏拉图
  15. Java对比GO的优劣势
  16. HDU 2111 JAVA
  17. 【EhCache: 一款Java的进程内缓存框架】EhCache 是什么、代码实战、版本3的改进
  18. 《CPT COLORFUL PROMPT TUNING FOR PRE-TRAINED》 论文笔记
  19. 2021最新整理JAVA常见面试题附答案
  20. 我是才学网络工程的,希望各位多多支持

热门文章

  1. java中下标和标识符_如下哪个是 Java 中的标识符 ( )_学小易找答案
  2. 计算机桌面壁纸在哪个文件夹,Win10桌面背景在哪个文件夹 Win10桌面背景所在文件夹介绍...
  3. 迅雷“应版权方要求,文件无法下载”完美解决方法!(¥28)
  4. 在Word2019中不能插入公式的解决办法
  5. Python3.7+tkinter实现身高计算器
  6. 基于FFmpeg的视频播放器之八:音频重采样
  7. 机器视觉中图像颜色识别理论
  8. c++ 圆整(取整)相关函数大全(rint lrint llrint round ceil floor trunc)
  9. 这45个场景,正在被区块链抽筋扒皮…
  10. SPSS——描述性统计分析——比率分析