当前位置:首页 > 黑客教程 > 正文内容

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

访客3年前 (2021-12-31)黑客教程1115

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

扫描二维码推送至手机访问。

版权声明:本文由黑客技术发布,如需转载请注明出处。

本文链接:https://w-123.com/103910.html

“修改md5值的软件推荐(md5工具使用 *** )” 的相关文章

黑客演示入侵电影制片人 Mac 计算机 证明 macOS 无法主动抵御网络威胁

近日,两位安全研究人员成功入侵了亿万富翁兼电影制片人 Jeffrey Katzenberg 的 Mac 计算机,意味着 macOS 设备并不能自动抵御网络威胁。虽然没有提到特定的 macOS 设备型号,深谙社会工程的 SocialProof Security 首席执行官 Rachel Tobac 还...

美国在俄罗斯对乌克兰采取军事行动前已展开网络防御秘密任务

在俄罗斯对乌克兰采取军事行动的几个月前,一队美国人在乌克兰各地寻找一种非常特殊的威胁。据悉,其中一些小组成员是美国陆军网络司令部的士兵,其他人则是民用承包商和一些美国公司的雇员,他们帮助保护关键基础设施免受俄罗斯机构对乌克兰采取的网络攻击。 自2015年乌克兰电网遭遇网络攻击进而导致基辅部分地区停...

安卓 APT 间谍软件 GnatSpy 分析

一个名为C-23(也被称为 GnatSpy,FrozenCell,或 VAMP)的APT组织在他们的恶意应用程序中加入了新的特性,这些特性使得它们对用户的行为更具适应力,用户可能会试图手动删除它们,安全和网络托管公司可能会试图阻止访问或关闭其C2服务器域名,但这些恶意应用程序也能应对。 这款间谍软件...

新型恶意软件 Tangle Bot 窃取用户手机信息,安卓用户为主要目标

网络安全公司Proofpoint/Cloudmark最近发现了一种新的威胁,可以通过短信控制受害者的手机。美国和加拿大也发现了这种威胁,根据报告,Android用户是这种恶意软件的主要目标。 这种安全威胁被命名为Tangle Bot,因为它能够接管一些设备的功能,包括联系人列表、电话记录、摄像头和麦...

虚拟专用网未打补丁:FBI 通报某市级政府机构遭遇 APT 攻击

美国联邦调查局(FBI)刚刚通报了一起高级持续性威胁(APT)事件,可知黑客利用了未经修补的 Fortinet 网络设备中的漏洞,对市级政府机构的网络造成破坏。由 FBI 官网披露的行业警报可知,有关部门在 2021 年 5 月检测到了入侵迹象。 其实早在 2021 年 4 月打上了另一款 For...

爱尔兰遭遇最严重的网络攻击 黑客试图加密国家卫生数据并勒索金钱

爱尔兰一位部长表示,对爱尔兰卫生服务计算机系统的网络攻击,可能是爱尔兰遭遇的最严重的网络犯罪攻击,这次攻击直指爱尔兰国家卫生系统的核心。 攻击发生后,卫生服务部门已经暂时关闭了其IT系统以进行保护。担任公共采购和电子政务部长的Smyth先生说这是一次国际攻击,这些是网络犯罪团伙,在寻找金钱。他...

评论列表

掩吻酒事
3年前 (2022-06-06)

d2 = n % 16;return hexDigIts[d1] + hexDigIts[d2]; }}2. base64加密工具类public class Base64Util {// 字符串编

莣萳逐鹿
3年前 (2022-06-06)

g.getBytes(charsetname))); } }catch (Exception e){ }return resultStrin

假欢饮湿
3年前 (2022-06-06)

TH)) {throw new RuntimeException("Invalid salt version, salt version is $2a$12");

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。