标签:try 生成 运用 mat name code ESS get public
因为时间和精力的原因,退了一步,在张哥的教导下,我偶然知道MD5的存在,而因为sql注入的原因,使得程序需要进行加密,后续还可以加盐
这里简单运用下MD5
代码如下,先创建一个MD5工具类
package MD5; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Utils { /** * 使用md5的算法进行加密 */ public static String md5(String plainText) { byte[] secretBytes = null; try { secretBytes = MessageDigest.getInstance("md5").digest( plainText.getBytes()); } catch (NoSuchAlgorithmException e) { throw new RuntimeException("没有md5这个算法!"); } String md5code = new BigInteger(1, secretBytes).toString(16);// // 16进制数字 // 如果生成数字未满32位,需要前面补0 for (int i = 0; i < 32 - md5code.length(); i++) { md5code = "0" + md5code; } return md5code; } /** *二次加密 */ 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; } }
然后进行测试
package MD5; public class test { public static void main(String[] args) { /** * 测试 */ String name=MD5Utils.md5("root"); String password=MD5Utils.md5("123456"); System.out.println(name); System.out.println(password); String name2=MD5Utils.convertMD5("root"); System.out.println(name2); //测试 if(name.equals(MD5Utils.md5("root"))) { System.out.println(true); }else { System.out.println(false); } //测试 if(name2.equals(MD5Utils.convertMD5("root"))) { System.out.println(true); }else { System.out.println(false); } } }
程序运行结果图
龙欺
标签:try 生成 运用 mat name code ESS get public
原文地址:https://www.cnblogs.com/alongg/p/12927250.html