通常我们在网页地址栏看到的乱码的问题而网页却可以正常访问
其实那并不是乱码的问题
只是请求在跳转的时候需要传递一些私密的参数,不想让用户看到得到 这个(比如用户登录时的密码)
所以才采用了将字符串加密的功能来实现的.
一般网站对私密信息的加密都是会自己写的加密的方法来实现,
下面写一个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被广泛应用在数据校验、密码存储等方面,因为它具有不可逆性和一定的抗碰撞性。下面我们将详细探讨三个不同版本的MD5加密在JAVA中的实现,并分析它们可能的差异和优化点。 1. **基础版MD5加密** 基础...
- **BCrypt**:一种专门用于密码哈希的算法,相比MD5更适合于密码存储。 - **PBKDF2**:另一种用于密码哈希的方法,特别适合于处理用户密码。 综上所述,MD5作为一种经典的散列算法,在JAVA中有着广泛的用途。不过...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要应用于数据的校验和加密。在Java中,MD5通常用于生成一个固定长度的128位(16字节)的数字摘要,这个摘要以32位的十六进制数表示。这个过程是不...
JavaMD5加密工具类是Java编程中用于实现数据安全存储的一种常见方法,主要涉及到的是MD5(Message-Digest Algorithm 5)散列算法的应用。MD5是一种广泛使用的密码学哈希函数,它能够将任意长度的数据转化为固定长度...
加密解密,前端加密,后端解密,CryptoJS,AESEncryptUtil.java DESEncryptUtil.java Base64EncodeUtil.java MD5Util.java
在Java编程语言中,字符串加密是一项重要的安全技术,它用于保护数据的隐私和安全性。字符串加密通常涉及到将明文字符串转换成密文,这样未经...同时,`Java.jpg`可能包含了与加密相关的图表或示例,有助于理解和学习。
标题中的“day17过滤器 禁止缓存中文乱码自动登录MD5加密url级别权限控制”涉及了多个IT领域的知识点,我们将逐一详细解释。 1. **过滤器(Filter)**: 过滤器是Java Web开发中的一种机制,它允许我们在请求到达...
本主题聚焦于一些关键的jsp编程实践中涉及的知识点,包括`MD5`加密,生成中文/数字验证码以及处理中文乱码问题。 首先,`MD5`是一种广泛使用的加密散列函数,产生一个128位(16字节)的散列值,通常以32个十六进制...
使用MD5加密用户密码,由于其不可逆特性,结合复杂的随机密码策略,可以有效防止密码被破解。 #### COOKIES加密 对COOKIES中的数据采用基于MD5的专用加密算法,加入随机加密因子,确保黑客无法通过伪造COOKIES进行...
Java程序员应当了解如何使用MD5对数据进行加密处理,例如在用户密码存储、数据校验等方面的应用。 - **应用场景**:用户登录验证、数据传输安全性保障。 - **实现方法**:可以利用Java自带的`MessageDigest`类来...
- 这个文件可能包含了MD5加密工具类,用于生成请求参数的签名。在与短信网关交互时,为了安全通常需要对某些参数(如密码)进行加密或者哈希处理,防止数据泄露。 - MD5是一种广泛使用的哈希函数,能将任意长度的...
理解**基本的安全知识**,包括数字摘要(MD5/SHA)、对称加密和非对称加密、数字签名以及数字证书,是配置HTTPS的基础。对称加密速度快,但需要共享密钥,而非对称加密使用公钥和私钥,解决了密钥分发的问题。数字...
4. **对称加密与非对称加密**:对称加密速度快,适用于大量数据的加解密;非对称加密虽然慢,但解决了密钥分发的问题。数字签名确保数据未被篡改且来源可靠,而数字证书由权威机构颁发,用于验证公钥的真实性。 5. ...
SQL Server 2005支持多种加密算法,如MD5或SHA-256,可以用于存储和验证用户密码。 7. **验证和安全**:在处理用户输入时,必须进行验证以防止SQL注入、跨站脚本攻击等安全风险。这可以通过在Servlet中使用正则...
配置HTTPS是为了提供安全的数据传输,涉及基础的安全知识,包括数字摘要、MD5/SHA算法、对称与非对称加密。使用Keytool工具管理Keystore,存储私钥和公钥证书。SSL/TLS协议通过非对称加密协商对称加密密钥,确保...
3. **数字摘要与MD5/SHA算法**:数字摘要是一种将任意长度的输入转换为固定长度输出的函数,用于验证数据的完整性。MD5和SHA是常用的散列算法,它们不可逆,能快速验证数据是否被篡改。 4. **对称加密与非对称加密*...
在Tomcat中配置HTTPS涉及到理解基本的安全知识,如数字摘要(MD5/SHA)、对称加密与非对称加密、数字签名和数字证书。Keytool工具用于管理和操作密钥库(KeyStore),包括创建私钥、导入和导出证书,以及管理密码。 ...
2. **配置HTTPS协议**:为了实现HTTPS,开发者需要理解一些基础的安全知识,包括数字摘要(MD5/SHA)、对称加密与非对称加密、数字签名以及数字证书。HTTPS通过SSL/TLS协议提供安全的数据传输,它使用非对称加密来...