MD5解密与加密算法

http://md5.tellyou.top/default.html

public class MD5andKL {

// MD5加码。32位
    public static String MD5(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 KL(String inStr) {
        // String s = new 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 String JM(String inStr) {
        char[] a = inStr.toCharArray();
        for (int i = 0; i < a.length; i++) {
            a[i] = (char) (a[i] ^ ‘t‘);
        }
        String k = new String(a);
        return k;
    }

// 测试主函数
    public static void main(String args[]) {
        String s = new String("123123");
//        4297f44b13955235245b2497399d7a93
        System.out.println("原始:" + s);
        System.out.println("MD5后:" + MD5(s));
        System.out.println("MD5后再加密:" + KL(MD5(s)));
        System.out.println("解密为MD5后的:" + JM(KL(MD5(s))));
    }
}

时间: 2024-08-03 03:02:01

MD5解密与加密算法的相关文章

免费MD5解密网站,轻松破解md5密码,mysql5/mysql323,ntlm,salt密码

md5解密网站:http://cmd5.la 网站语言:php 免费指数:★★★        (8位内小写数字字母免费,11位内数字免费) 解密范围:★★★★☆ (覆盖了1-12位很多常用密码和特殊密码) 解密类型:★★★★☆ (1-3次md5解密,ntlm,sha1,mysql4/5密码,ntlm,部分加盐和特殊加密类型) 解密速度:★★★☆(单个解密10秒内) 批量破解:支持 该网站可解密的范围还不错,解密类型可以,基本的md5解密需求可以覆盖,而且免费范围也覆盖了大部分常用密码了.

md5加密md5解密

#region MD5加密 /// <summary> /// MD5加密 /// </summary> /// <param name="strSource">需要加密的字符串</param> /// <returns>MD5加密后的字符串</returns> public static string Md5Encrypt(string strSource) { //把字符串放到byte数组中 byte[] by

Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA

[前言] 本文简单的介绍了加密技术相关概念,最后总结了java中现有的加密技术以及用法和样例 [最简单的加密] 1.简单的概念 明文:加密前的信息 密文:机密后的信息 算法:加密或解密的算法 密钥:算法使用的钥匙(读作miyao.正确应该是miyue,可是大家都读miyao) 2.简单的样例 将123456每位数字都加1后得到234567, 当中123456就是明文.234567就是密文.加密密钥就是1,加密算法是每位加 3.对称加密和非对称加密 以上为例. 123456-->234567的加密

DES、MD5、RSA加密算法

本篇主要是实现标题中的三个加密算法,至于机制大家自行百度吧. 一.DES 实现类:DES.java package com.kale.des; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; /* * DES加

MD5和sha1加密算法

在很多电子商务和社区应用中,我们都要存放很多的客户的资料,其中包括了很多的隐私信息和客户不愿被别人看到的信息,当然好有客户执行各种操作的密码,此时就需要对客户的信息进行加密再存储,目前有两种比较好的加密算法:MD5和sha1. 这两种加密算法都属于散列加密技术.所谓散列加密就是无论输入的字符串是什么,有多大,加密后都将变成唯一的定长的加密串. 首先介绍一下MD5,MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Secu

MD5和sha1加密算法--散列加密技术 MD5:128bit的大整数

在很多电子商务和社区应用中,我们都要存放很多的客户的资料,其中包括了很多的隐私信息和客户不愿被别人看到的信息,当然好有客户执行各种操作的密码,此时就需要对客户的信息进行加密再存储,目前有两种比较好的加密算法:MD5和sha1. 这两种加密算法都属于散列加密技术.所谓散列加密就是无论输入的字符串是什么,有多大,加密后都将变成唯一的定长的加密串. 首先介绍一下MD5,MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Secu

隐私:网民最常用密码MD5解密

国内知名网络安全商瑞星公司曾发布过一项针对密码强度的专业研究报告,这项研究中列举了中国网民和美国网民最常用的密码集.研究表明,全球互联网大部分用户在密码使用中都存在着种种疏漏,一些极其简单的密码被广泛使用于各种互联网环境中,给用户带来极大安全风险. 安全系数较高的密码设置方法:数字.符号.字母混合使用(区分大小写,定期更换) 中国网民最常用的22个密码 明文:abc123 16位MD5密码:28cb38d5f260853632位MD5密码:e99a18c428cb38d5f26085367892

js版MD5 (Message-Digest Algorithm)加密算法

/**** MD5 (Message-Digest Algorithm)* http://www.webtoolkit.info/***/ var MD5 = function (string) { function RotateLeft(lValue, iShiftBits) { return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits)); } function AddUnsigned(lX,lY) { var lX4,

Egret之MD5的SHA1加密算法实现

一 : 核心代码 , MD5.SHA1的实现 class SHA1{ public constructor(){} private static _instance:SHA1; public static getInstance():SHA1{ if( !SHA1._instance ){ SHA1._instance = new SHA1(); } return SHA1._instance; } private hexcase = 0; private b64pad = ""; p