md5工具使用方法(修改md5值的软件推荐)

发布日期:2024-05-20 05:01:34     手机:https://m.xinb2b.cn/wenda/news3414.html    违规举报
核心提示:001:工具类 md5加密工具类 base64加密工具类 Bcrypt工具类 002:加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 003、工具类 1. md5加密工

md5工具使用方法(修改md5值的软件推荐)

0x01:工具类

md5加密工具类 base64加密工具类 Bcrypt工具类 0x02:加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 0x03、工具类 1. md5加密工具类 public class MD5Utils {private static final String hexDigIts[] = {"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"};public static String MD5Encode(String origin, String charsetname){ String resultString = null;try{ resultString = new String(origin); MessageDigest md = MessageDigest.getInstance("MD5");if(null == charsetname || "".equals(charsetname)){ resultString = byteArrayToHexString(md.digest(resultString.getBytes())); }else{ resultString = byteArrayToHexString(md.digest(resultString.getBytes(charsetname))); } }catch (Exception e){ }return resultString; }public static String byteArrayToHexString(byte b[]){ StringBuffer resultSb = new StringBuffer();for(int i = 0; i < b.length; i++){ resultSb.append(byteToHexString(b[i])); }return resultSb.toString(); }public static String byteToHexString(byte b){int n = b;if(n < 0){ n += 256; }int d1 = n / 16;int d2 = n % 16;return hexDigIts[d1] + hexDigIts[d2]; }} 2. base64加密工具类 public class base64Util {// 字符串编码private static final String UTF_8 = "UTF-8";public static String decodeData(String inputData) {try {if (null == inputData) {return null; }return new String(base64.decodebase64(inputData.getBytes(UTF_8)), UTF_8); } catch (UnsupportedEncodingException e) { }return null; }public static String encodeData(String inputData) {try {if (null == inputData) {return null; }return new String(base64.encodebase64(inputData.getBytes(UTF_8)), UTF_8); } catch (UnsupportedEncodingException e) { }return null; }public static void main(String[] args) { System.out.println(base64Util.encodeData("我是中文"));String enStr = base64Util.encodeData("我是中文"); System.out.println(base64Util.decodeData(enStr)); }} 3. Bcrypt工具类 public class BcryptCipher {// generate salt seedprivate static final int SALT_SEED = 12;// the head fo saltprivate static final String SALT_STARTSWITH = "$2a$12";public static final String SALT_KEY = "salt";public static final String CIPHER_KEY = "cipher";public static Map<String, String> Bcrypt(final String encryptSource) {String salt = BCrypt.gensalt(SALT_SEED); Map<String, String> bcryptResult = Bcrypt(salt, encryptSource);return bcryptResult; }public static Map<String, String> Bcrypt(final String salt, final String encryptSource) {if (StringUtils.isBlank(encryptSource)) {throw new RuntimeException("Bcrypt encrypt input params can not be empty"); }if (StringUtils.isBlank(salt) || salt.length() != 29) {throw new RuntimeException("Salt can\'t be empty and length must be to 29"); }if (!salt.startsWith(SALT_STARTSWITH)) {throw new RuntimeException("Invalid salt version, salt version is $2a$12"); }String cipher = BCrypt.hashpw(encryptSource, salt); Map<String, String> bcryptResult = new HashMap<String, String>(); bcryptResult.put(SALT_KEY, salt); bcryptResult.put(CIPHER_KEY, cipher);return bcryptResult; }} 0x04:加密测试 1. MD5加密测试 public class MD5Test {public static void main(String[] args) { String string = "我是一句话"; String byteArrayToHexString = MD5Utils.byteArrayToHexString(string.getBytes()); System.out.println(byteArrayToHexString);//e68891e698afe4b880e58fa5e8af9d }} 2. base64加密测试 public class Bast64Tester {public static void main(String[] args) { String string = "我是一个字符串"; String encodeData = base64Util.encodeData(string); //加密 String decodeData = base64Util.decodeData(encodeData); //解密 System.out.println(encodeData);//5oiR5piv5LiA5Liq5a2X56ym5Liy System.out.println(decodeData);//我是一个字符串  }} 3. SHA加密测试 public class ShaTest {public static void main(String[] args) { String string = "我是一句话"; String sha256Crypt = Sha2Crypt.sha256Crypt(string.getBytes()); System.out.println(sha256Crypt);//$5$AFoQTeyt$TiqmobvcQXjXaAQMYosAAO4KI8LfigZMGHzq.Dlp4NC }} 4. BCrypt加密测试 public class BCryptTest {public static void main(String[] args
 
 
本文地址:https://wenda.xinb2b.cn/news3414.html,转载请注明出处。

推荐图文
推荐问答知道
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  违规举报  |  蜀ICP备18010318号-4  |  百度地图  | 
Processed in 0.083 second(s), 91 queries, Memory 0.47 M