了解如何在 JavaScript 中轻松创建任何字符串的 MD5 哈希值。
MD5 哈希函数旨在用作用于验证数字签名的安全加密哈希算法,但是,它已被弃用,用于与非加密校验和不同的用途,以验证数据完整性和检测意外数据损坏。这意味着,使用此算法来证明文件的完整性是很常见的。JavaScript如何创建MD5哈希值?在 JavaScript 中,没有加密实用程序集,但是,可以使用第三方库来实现相同的功能,在这种情况下,@blueimp编写的 MD5 库可用作开源存储库,其源代码可在 Github 上获得. MD5 的这种 JavaScript 实现与 Node.js 等服务器端环境、RequireJS 或 webpack 等模块加载器以及所有 Web 浏览器兼容。
JavaScript创建MD5哈希值的方法:如何在项目中包含 MD5
如果你的项目使用包管理器,你可以使用 NPM 使用以下命令轻松安装它:
npm install blueimp-md5
或者,如果你来自旧学校,只需在你的文档中包含 MD5 脚本(你可以从此处的官方存储库获取原始和缩小版本),如下所示:
<!-- Include MD5 library -->
<script src="md5.js"></script>
<!-- Include MD5 minified version -->
<script src="md5.min.js"></script>
有关此库的更多信息,请不要忘记在此处访问Github 的官方存储库。
如何使用 MD5 算法进行散列
如果你已经安装了它,你需要做的第一件事是在你的项目中导入 MD5 库:
// If you are using a package manager, require the package
const md5 = require("blueimp-md5");
// If you are using ES6
import { md5 } from "blueimp-md5";
// Alternatively in the browser md5 will be available globally in the window
导入后,它的使用将非常简单。md5 是一个最多需要 3 个参数的函数:
- 值(字符串):将使用 MD5 算法散列的值。
- key (string):如果你想使用 HMAC 对字符串进行密钥散列,请将其作为第二个参数提供。
- raw (boolean): 一个布尔值,决定散列是原始编码还是十六进制编码(默认为 false)。
MD5 哈希(十六进制编码)
你可以轻松创建任何给定字符串的 MD5 哈希值,并将其作为第一个参数:
// contains: "dc599a9972fde3045dab59dbd1ae170b"
let hash = md5("carlos");
HMAC-MD5(十六进制编码)
JavaScript如何创建MD5哈希值?你可以轻松创建任何给定字符串的 HMAC-MD5 散列,提供作为第一个参数的值和作为第二个参数的键:
// contains: "80244576c6c4e060a8e14b124cebaaa4"
// md5("key", "value")
let hash = md5("carlos", "---");
MD5 哈希(原始)
你可以轻松创建任何给定字符串的原始 MD5 哈希,将其作为第一个参数,作为第二个参数为空值,第三个参数为真:
// contains: "ÜYrýã\u0004]«YÛÑ®\u0017\u000b"
let rawhash = md5("carlos", null, true);
HMAC-MD5(原始)
JavaScript创建MD5哈希值的方法:你可以轻松创建任何给定字符串的原始 HMAC-MD5 哈希,将其作为第一个参数,作为第二个参数的键,第三个参数为 true:
// contains: "$EvÆÄà`¨áK\u0012L몤"
let rawhash = md5('carlos', '*****', true)
快乐编码❤️!