网站首页
手机版

md5工具使用方法 md5 tools

更新时间:2023-08-23 18:02:06作者:佚名

md5工具使用方法 md5 tools

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"};/** * MD5加密 * @param origin 字符 * @param charsetname 编码 * @return */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";/** * 加密字符串 * @param inputData * @return */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; }/** * 解密加密后的字符串 * @param inputData * @return */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";/** * Bcrypt encryption algorithm method * @param encryptSource * need to encrypt the string * @return Map , two values in Map , salt and 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; }/** * * @param salt encrypt salt, Must conform to the rules * @param encryptSource * @return */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加密测试

/** * 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加密测试

/** * 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加密测试

/** * 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加密测试

/** * BCrypt加密 */public class BCryptTest {public static void main(String[] args

本文标签: [db:关键词]  

为您推荐

电脑系统一键重装哪个软件好 电脑怎么重装系统

提起重装系统很多人下意识的觉得这是一个非常难的操作,即使现在随便一搜就有许多的教程,但是那些眼花缭乱的操作看着就觉得头疼。不过微软也针对这种情况推出一款适合普通用户且操作简单的系统重装软件。 这款软

2023-08-23 18:02

硬盘扫描工具怎么用 硬盘扫描用什么软件

不少朋友在购买固态硬盘后对于如何检测比较迷茫,怎样才能确定自己买到的固态硬盘是否正常工作了呢?盲目的检测有可能会误导自己的判断,存储极客以使用3D闪存的东芝TR200为例来为大家科普解读固态硬盘到手检

2023-08-23 18:02

md5工具使用方法 md5 tools

0x01:工具类md5加密工具类base64加密工具类Bcrypt工具类 0x02:加密测试MD5加密测试base64加密测试SHA加密测试BCrypt加密测试 0x03、工具类1. md5加密工

2023-08-23 18:02

搜索软件使用排名 搜索软件使用排名怎么看

“开心就好,这里‘没有广告’。”记者注意到,近日,智能搜索app夸克的“无广告”概念海报,出现在机场、地铁站、写字楼和多款应用软件中。这也是国内搜索领域,首次有产品向竞价广告“宣战”。(图:智能搜索a

2023-08-23 18:00

联想电池校准有用吗 联想电池校准软件

12月9日,联想宣布旗下最新款 YOGA智能投影T500 Play正式上市。这款定位“移动高清”的投影不仅拥有高达百吋的投射面积,还内置了容量高达22500mAh的电池,不插电的最长观影时长可达5小时

2023-08-23 18:00

js软件可以提供的信息(js可以应用在哪些方面)

V8 是 Google 发布的开源 JavaScript 引擎,采用 C++ 编写,在 Google 的 Chrome 浏览器中被使用。V8 引擎可以独立运行,也可以用来嵌入到 C++ 应用程序中执行

2023-08-23 18:00