MD5的使用

首先是我的源代码

/***
* MD5加码 生成32位md5码
*/
public static String backMD5(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 DecryptMD5(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;

}

// 测试主函数
public static void main(String args[]) {

//可以在这里设置自己的数据
    List<String> list=new ArrayList<String>();

list.add("liuhao");
    list.add("liu hao");

for (int i = 0; i < list.size(); i++) {

System.out.println("原始:" + list.get(i));
        System.out.println("MD5后:" + backMD5(list.get(i)));
        System.out.println("加密的:" + DecryptMD5(list.get(i)));
        System.out.println("解密的:" + DecryptMD5(DecryptMD5(list.get(i))));
}

}

输出的结果为

好啦..就是这么的简单

时间: 2024-12-04 16:36:50

MD5的使用的相关文章

&#65279;&#65279;iPhone6plus 的 iOS 11 GM和正式版安装包的 md5一模一样

同上:chens-MacBook-Air:~ chen$ md5 /Users/chen/Downloads/iPhone_5.5_11.0_15A372_Restore.ipsw MD5 (/Users/chen/Downloads/iPhone_5.5_11.0_15A372_Restore.ipsw) = 0473f217af0f20e138649385de6db6c7GM 版本的 md5 chens-MacBook-Air:~ chen$ md5 /Users/chen/Download

C# MD5

private static string GetMd5String(string msg) { StringBuilder sb = new StringBuilder(); using(MD5 md5 = MD5.Create()) { byte[] bytes = Encoding.UTF8.GetBytes(msg); byte[] md5Byte = md5.ComputeHash(bytes); for (int i = 0; i < md5Byte.Length; i++) { s

MD5加密和RSA加密

1.MD5加密  MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),MD5算法的使用不需要支付任何版权费用. MD5的功能:     ①.输入任意长度的信息,经过处理,输出为128位的信息(数字指纹):    ②.不同的输入得到的不同的结果(唯一性):    ③.根据128位的输出结果不可能反推出输入的信息(不可逆),也就是只能加密,不能解密:  MD5的用途:     1.防止被篡改:    1)比如发送一个电子文档,发送前,我先得到MD5的

字符串以及文件的hashlib的md5和sha1等的运用

hashlib的md5和sha1等的运用 import hashlib print(hashlib.algorithms_available) print(hashlib.algorithms_guaranteed) #MD5 import hashlib hash_object = hashlib.md5(b'Hello World') print(hash_object.hexdigest()) # import hashlib mystring = input('Enter String

阿里云oss Multipart Upload 中每个part的E-tag(即MD5)求法

阿里云java的开发文档中提到:OSS 会将服务器端收到 Part 数据的 MD5 值放在 ETag 头内返回给用户. 为了保证数据在网络传输过程中不出现错误,强烈推荐用户在收到 OSS 的返回请求后,用该 MD5 值验证上传数据的正确性. 但是没有告诉怎么验证,纠结了一天之后终于找到了在本地求每个part的MD5值得方法: <span style="font-size:18px;">private static HashMap<Integer, String>

&nbsp; &nbsp; MD5,MySQL,SHA解密 - 利用GPU进行密码破解

使用方法: 1 打开命令行cmd 然后切换到egb的目录,假设你的文件夹在f盘,则输入:  f:2. 在当前目录输入: egb.exe /info查看你的电脑是否支持使用CUDA3. 可以将要破解的文件放置到当前目录4. 回到命令窗口,输入: egb.exe MD5 Settings/MD5.ini password.txt5. 上面的MD5表示使用MD5解密方式,而Settings/MD5.ini则是具体的配置文件.程序内置了72中不同类型的解密配置文件,可以自己浏览一下. 而passwd.t

【iOS】MD5加密与网络数据安全

在做网络应用程序的时候, 时时刻刻要保证用户数据的安全, 因此要加密. MD5算法在国内用的很多. MD5算法的特点: *同样的数据加密结果是一样的.(32个字符) *不可逆的.(不能逆向解密) *可用于文件校验/指纹识别. MD5算法是公开的,iOS中已经包装好了MD5算法. 可以将其写成字符串的分类: - (NSString *)md5String { const char *string = self.UTF8String; int length = (int)strlen(string)

快速遍历对比两个文件下的md5值

[[email protected] Activity]# find /opt/xyrpg/rpgserver_s1/XMLData/Activity/ -type f -exec md5sum {} \;|sed 's/rpgserver_s1/rpgserver_s2/'|md5sum -c /opt/xyrpg/rpgserver_s2/XMLData/Activity/ActivityCondition.xml: FAILED /opt/xyrpg/rpgserver_s2/XMLDat

HMAC-SHA256 &amp; MD5 In C#

C#中两个常用的加密方法: 个人Mark,仅作参考. public static class Extends { /// <summary> /// HMAC SHA256 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string Sha256(this string str) { byte[

shiro自定义realm支持MD5算法(六)

1.1     散列算法 通常需要对密码 进行散列,常用的有md5.sha, 对md5密码,如果知道散列后的值可以通过穷举算法,得到md5密码对应的明文. 建议对md5进行散列时加salt(盐),进行加密相当 于对原始密码+盐进行散列.(盐就相当于加入一个随机数) 正常使用时散列方法: 在程序中对原始密码+盐进行散列,将散列值存储到数据库中,并且还要将盐也要存储在数据库中. 如果进行密码对比时,使用相同 方法,将原始密码+盐进行散列,进行比对. 1.2 MD5测试 package cn.qlq.