java和.NET非对称加密(MD5算法) java代码: <span style="white-space:pre"> </span>public static String hashMD5(String data) { byte[] bytes = null; try { bytes = data.getBytes("UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } MessageDigest digest = digests.get("MD5"); digest.update(bytes); StringBuilder buf = new StringBuilder(bytes.length * 2); int i; for (i = 0; i < bytes.length; i++) { if (((int) bytes[i] & 0xff) < 0x10) { buf.append("0"); } buf.append(Long.toString((int) bytes[i] & 0xff, 16)); } return buf.toString(); } .NET代码: public string getMd5Hash(string input) { MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider(); byte[] data = md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(input)); StringBuilder sBuilder = new StringBuilder(); for (int i = 0; i < data.Length; i++) { sBuilder.Append(data[i].ToString("x2")); } return sBuilder.ToString(); } java和.NET非对称加密(SHA256算法) Java代码: <span style="white-space:pre"> </span>public static String hashSHA256(String data) { byte[] bytes = null; try { bytes = data.getBytes("UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } MessageDigest digest = digests.get("SHA256"); digest.update(bytes); StringBuilder buf = new StringBuilder(bytes.length * 2); int i; for (i = 0; i < bytes.length; i++) { if (((int) bytes[i] & 0xff) < 0x10) { buf.append("0"); } buf.append(Long.toString((int) bytes[i] & 0xff, 16)); } return buf.toString(); } .Net代码 <span style="white-space:pre"> </span>//SHA256 public string SHA256Hash(string input) { SHA256 sha256 = new SHA256Managed(); byte[] data = sha256.ComputeHash(Encoding.UTF8.GetBytes(input)); sha256.Clear(); StringBuilder sBuilder = new StringBuilder(); for (int i = 0; i < data.Length; i++) { sBuilder.Append(data[i].ToString("x2")); } return sBuilder.ToString(); }
java和.net一些通用的加密算法
最新推荐文章于 2021-02-27 05:38:06 发布