`
humane
  • 浏览: 7749 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java MD5加密,适用于密码加密,网址乱码

    博客分类:
  • java
阅读更多

通常我们在网页地址栏看到的乱码的问题而网页却可以正常访问

其实那并不是乱码的问题

只是请求在跳转的时候需要传递一些私密的参数,不想让用户看到得到 这个(比如用户登录时的密码)

所以才采用了将字符串加密的功能来实现的.

一般网站对私密信息的加密都是会自己写的加密的方法来实现,

下面写一个MD5的32位加密的功能类,方便日后使用.

(MD5是不可逆的,意思就是不能够用MD5码来转换到之前的字符串)

下面是找的一个MD5代码

package hitaoker;

import java.security.MessageDigest;

public class MD5 {
	/*** 
     * MD5加码 生成32位md5码 
     */  
    public static String string2MD5(String str){  
        MessageDigest md5 = null;  
        try{  
            md5 = MessageDigest.getInstance("MD5");  
        }catch (Exception e){  
            System.out.println(e.toString());  
            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 haxValue = new StringBuffer();  
        for (int i = 0; i < md5Bytes.length; i++){  
            int val = ((int) md5Bytes[i]) & 0xff;  
            if (val < 16)  
            	haxValue.append("0");  
            haxValue.append(Integer.toHexString(val));  
        }  
        return haxValue.toString();  
    }    
    public static void main(String[] args) {
    	 String s = "humane_"; 
         System.out.println("原始:" + s);  
         System.out.println("MD5后:" + string2MD5(s)); 
	}
}

 

 

分享到:
评论

相关推荐

    JAVA_MD5加密 3个不同的版本

    在JAVA中,MD5被广泛应用在数据校验、密码存储等方面,因为它具有不可逆性和一定的抗碰撞性。下面我们将详细探讨三个不同版本的MD5加密在JAVA中的实现,并分析它们可能的差异和优化点。 1. **基础版MD5加密** 基础...

    JAVA MD5 加密算法

    - **BCrypt**:一种专门用于密码哈希的算法,相比MD5更适合于密码存储。 - **PBKDF2**:另一种用于密码哈希的方法,特别适合于处理用户密码。 综上所述,MD5作为一种经典的散列算法,在JAVA中有着广泛的用途。不过...

    MD5工具类(可设置编码和指定长度)

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要应用于数据的校验和加密。在Java中,MD5通常用于生成一个固定长度的128位(16字节)的数字摘要,这个摘要以32位的十六进制数表示。这个过程是不...

    JavaMD5加密工具类

    JavaMD5加密工具类是Java编程中用于实现数据安全存储的一种常见方法,主要涉及到的是MD5(Message-Digest Algorithm 5)散列算法的应用。MD5是一种广泛使用的密码学哈希函数,它能够将任意长度的数据转化为固定长度...

    加密解密,前端加密,后端解密

    加密解密,前端加密,后端解密,CryptoJS,AESEncryptUtil.java DESEncryptUtil.java Base64EncodeUtil.java MD5Util.java

    java 字符串的加密

    在Java编程语言中,字符串加密是一项重要的安全技术,它用于保护数据的隐私和安全性。字符串加密通常涉及到将明文字符串转换成密文,这样未经...同时,`Java.jpg`可能包含了与加密相关的图表或示例,有助于理解和学习。

    day17过滤器 禁止缓存中文乱码自动登录MD5加密url级别权限控制

    标题中的“day17过滤器 禁止缓存中文乱码自动登录MD5加密url级别权限控制”涉及了多个IT领域的知识点,我们将逐一详细解释。 1. **过滤器(Filter)**: 过滤器是Java Web开发中的一种机制,它允许我们在请求到达...

    jsp常用经典代码(md5java实现,生成中文/数字验证码,解决中文乱码)

    本主题聚焦于一些关键的jsp编程实践中涉及的知识点,包括`MD5`加密,生成中文/数字验证码以及处理中文乱码问题。 首先,`MD5`是一种广泛使用的加密散列函数,产生一个128位(16字节)的散列值,通常以32个十六进制...

    网站安全加密

    使用MD5加密用户密码,由于其不可逆特性,结合复杂的随机密码策略,可以有效防止密码被破解。 #### COOKIES加密 对COOKIES中的数据采用基于MD5的专用加密算法,加入随机加密因子,确保黑客无法通过伪造COOKIES进行...

    java程序员应该有的东西.

    Java程序员应当了解如何使用MD5对数据进行加密处理,例如在用户密码存储、数据校验等方面的应用。 - **应用场景**:用户登录验证、数据传输安全性保障。 - **实现方法**:可以利用Java自带的`MessageDigest`类来...

    java 调用运营商短信方法(一)

    - 这个文件可能包含了MD5加密工具类,用于生成请求参数的签名。在与短信网关交互时,为了安全通常需要对某些参数(如密码)进行加密或者哈希处理,防止数据泄露。 - MD5是一种广泛使用的哈希函数,能将任意长度的...

    Java Web之高级应用

    理解**基本的安全知识**,包括数字摘要(MD5/SHA)、对称加密和非对称加密、数字签名以及数字证书,是配置HTTPS的基础。对称加密速度快,但需要共享密钥,而非对称加密使用公钥和私钥,解决了密钥分发的问题。数字...

    Java+Web之高级应用.ppt

    4. **对称加密与非对称加密**:对称加密速度快,适用于大量数据的加解密;非对称加密虽然慢,但解决了密钥分发的问题。数字签名确保数据未被篡改且来源可靠,而数字证书由权威机构颁发,用于验证公钥的真实性。 5. ...

    简单登陆,注册页面实现(jsp,servlet,jdbc,mvc,解决中文乱码)

    SQL Server 2005支持多种加密算法,如MD5或SHA-256,可以用于存储和验证用户密码。 7. **验证和安全**:在处理用户输入时,必须进行验证以防止SQL注入、跨站脚本攻击等安全风险。这可以通过在Servlet中使用正则...

    java web高级开发

    配置HTTPS是为了提供安全的数据传输,涉及基础的安全知识,包括数字摘要、MD5/SHA算法、对称与非对称加密。使用Keytool工具管理Keystore,存储私钥和公钥证书。SSL/TLS协议通过非对称加密协商对称加密密钥,确保...

    Java Web之高级应用.ppt

    3. **数字摘要与MD5/SHA算法**:数字摘要是一种将任意长度的输入转换为固定长度输出的函数,用于验证数据的完整性。MD5和SHA是常用的散列算法,它们不可逆,能快速验证数据是否被篡改。 4. **对称加密与非对称加密*...

    Java网络编程-Java Web应用

    在Tomcat中配置HTTPS涉及到理解基本的安全知识,如数字摘要(MD5/SHA)、对称加密与非对称加密、数字签名和数字证书。Keytool工具用于管理和操作密钥库(KeyStore),包括创建私钥、导入和导出证书,以及管理密码。 ...

    Java Web之高级应用.ppt Java Web之高级应用.ppt

    2. **配置HTTPS协议**:为了实现HTTPS,开发者需要理解一些基础的安全知识,包括数字摘要(MD5/SHA)、对称加密与非对称加密、数字签名以及数字证书。HTTPS通过SSL/TLS协议提供安全的数据传输,它使用非对称加密来...

Global site tag (gtag.js) - Google Analytics