JS 的加密库简介

作为前端,数据提交到后台之前,重要的数据要进行加密一下,虽然已经有 https 等技术,但是增加一道前端的加密还是相对更安全的。虽然,前端的加密很容破解,但是有总比没有强。

尤其是涉及到用户名和密码,最好加密后再进行发送 ajax 请求。

比较流行的前端加密库

md5 加密

md5 加密算法是一种哈希算法,虽然已经被王小云博士找到了碰撞破解的方法,但是如果进行几次 md5 加密,破解难度就很高,所以目前依然可以使用。

以下是单独的 md5 加密帮助文件的使用:

<script type="text/ecmascript" src="md5.js"></script> <script type="text/javascript"> var hashHex = hex_md5("123dafd"); // 返回16进制的加密结果:a0deb4d124159da796c0e935ac8fbaa1 var hashBase64 = b64_md5("123dafd"); // 返回 base64的加密结果:oN600SQVnaeWwOk1rI+6oQ var hashStr = str_md5("123dafd"); // 返回字符串的哈希结果: Þ´Ñ$§Àé5¬º¡ </script>

sh1 哈希加密

这个加密算法,非常出名,相对比较安全。建议使用。

  • 第一步:下载 sh1 加密 js

  • 第二步:页面中引入 sha1.js,调用方法为

  • 第三步: 编写代码

var shaHex = hex_sha1('mima123465'); // 07f804138ac308f552b17d7881105a9cb08758ca var shaBase64 = b64_sha1('mima123465'); // B/gEE4rDCPVSsX14gRBanLCHWMo var shaStr = str_sha1('mima123465'); // øÃõR±}xZ°XÊ

base64 加密和解密

下载 base64.js

var b = new Base64(); var str = b.encode('admin:admin'); alert('base64 encode:' + str); //解密 str = b.decode(str); alert('base64 decode:' + str);

转载于:https://www.cnblogs.com/fly_dragon/p/9186749.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javascript进行RSA加密并用C#后台接收解码。 /// <summary> /// 产生一组RSA公钥、私钥 /// </summary> /// <returns></returns> public static Dictionary<string, string> CreateRsaKeyPair() { var keyPair = new Dictionary<string, string>(); var rsaProvider = new RSACryptoServiceProvider(1024); RSAParameters parameter = rsaProvider.ExportParameters(true); keyPair.Add("PUBLIC", BytesToHexString(parameter.Exponent) + "," + BytesToHexString(parameter.Modulus)); keyPair.Add("PRIVATE", rsaProvider.ToXmlString(true)); keyPair.Add("PUBLICKEY", rsaProvider.ToXmlString(false)); return keyPair; } /// <summary> /// RSA解密字符串 /// </summary> /// <param name="encryptData">密文</param> /// <param name="privateKey">私钥</param> /// <returns>明文</returns> public static string DecryptRSA(string encryptData, string privateKey) { string decryptData = ""; try { var provider = new RSACryptoServiceProvider(); provider.FromXmlString(privateKey); byte[] result = provider.Decrypt(HexStringToBytes(encryptData), false); ASCIIEncoding enc = new ASCIIEncoding(); decryptData = enc.GetString(result); } catch (Exception e) { throw new Exception("RSA解密出错!", e); } return decryptData; } public static string BytesToHexString(byte[] input) { StringBuilder hexString = new StringBuilder(64); for (int i = 0; i < input.Length; i++) { hexString.Append(String.Format("{0:X2}", input[i])); } return hexString.ToString(); } public static byte[] HexStringToBytes(string hex) { if (hex.Length == 0) { return new byte[] { 0 }; } if (hex.Length % 2 == 1) { hex = "0" + hex; } byte[] result = new byte[hex.Length / 2]; for (int i = 0; i < hex.Length / 2; i++) { result[i] = byte.Parse(hex.Substring(2 * i, 2), System.Globalization.NumberStyles.AllowHexSpecifier); } return result; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值