IT评测·应用市场-qidao123.com

标题: 前端常用加密小技巧:encode, MD5,JSEncrypt [打印本页]

作者: 立聪堂德州十三局店    时间: 2024-11-22 13:59
标题: 前端常用加密小技巧:encode, MD5,JSEncrypt
最近工作的时间,写了一个登录注册相关功能,用到了些加密的东西,特此分享~
什么是 MD5
MD5(Message Digest 5)是一种加密算法,用于天生数字消息或数据的固定长度(128 位)散列值。它是一种单向散列函数,这意味着无法从散列值中规复原始消息。
作用
MD5 已广泛用于各种应用程序中,包罗:

用法
要使用 MD5,需要使用 MD5 算法对输入数据举行散列。这可以通过使用编程语言中的 MD5 库或使用在线 MD5 计算器来完成。
下载和安装(使用 JavaScript)
JavaScript 中没有内置的 MD5 库。但是,可以使用 CryptoJS 库来实现 MD5 散列。
  1. npm install crypto-js
  2. const CryptoJS = require("crypto-js");
  3.  
  4. // 使用MD5加密
  5. const message = "需要加密的信息";
  6. const md5Value = CryptoJS.MD5(message).toString();
  7.  
  8. console.log(md5Value); // 输出MD5加密后的字符串
复制代码

2.什么是JSEncrypt 
JSEncrypt 是一个用于在 JavaScript 中举行 RSA 加密和解密的开源库。它提供了一个方便且安全的界面,可让开发人员在 Web 应用程序中轻松实施加密功能。
作用
JSEncrypt 紧张用于以下目标:

紧张特点
JSEncrypt 库提供以下紧张特点:

JSEncrypt 加密的示例
   npm install jsencrypt
    import JSEncrypt from 'jsencrypt';
  以下是一个使用 JSEncrypt 加密和解密文本的示例:
  1. // 创建一个 JSEncrypt 实例
  2. const encryptor = new JSEncrypt();
  3. // 设置公钥(假设您已从证书颁发机构获得)
  4. encryptor.setKey("-----BEGIN PUBLIC KEY-----\
  5. MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDO630wGp...省略公钥内容...0NGkO9gJ+i40v74G5g2Q==");
  6. // 加密文本
  7. const encrypted = encryptor.encrypt("这是要加密的文本");
  8. // 解密文本(假设您有私钥)
  9. const decryptor = new JSEncrypt();
  10. decryptor.setKey("-----BEGIN PRIVATE KEY-----\
  11. MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoG...省略私钥内容...s7vd3Bk/vZ13m9v4k=\
  12. -----END PRIVATE KEY-----\
  13. ");
  14. const decrypted = decryptor.decrypt(encrypted);
  15. console.log("加密后的文本:", encrypted);
  16. console.log("解密后的文本:", decrypted);
复制代码
3:什么是 encode
encode 是一个将数据从一种格式转换为另一种格式的过程。它通常用于将二进制数据转换为文本格式,以便可以在网络上传输或存储。
encode 的类型
有许多不同的编码类型,包罗:

  1. const originalString = "Hello World!";
  2. const encodedString = btoa(originalString); // Base64 编码
  3. console.log(encodedString); // 输出:SGVsbG8gV29ybGQh
复制代码
  1. const originalString = "你好,世界!";
  2. const encodedString = encodeURIComponent(originalString); // UTF-8 编码
  3. console.log(encodedString); // 输出:%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C%EF%BC%81
复制代码
  1. const originalString = "Hello World! This is a test.";
  2. const encodedString = encodeURIComponent(originalString); // URL 编码
  3. console.log(encodedString); // 输出:Hello%20World%21%20This%20is%20a%20test%2E
复制代码
  1. const originalString = "<script>alert('XSS attack')</script>";
  2. const encodedString = escape(originalString); // HTML 实体编码
  3. console.log(encodedString); // 输出:%3Cscript%3Ealert%28%27XSS%20attack%27%29%3C%2Fscript%3E
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4