如何在JavaScript中创建MD5哈希值?

2021年11月29日20:09:27 发表评论 1,905 次浏览

了解如何在 JavaScript 中轻松创建任何字符串的 MD5 哈希值。

如何在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: "ÜYš™rýã\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)

快乐编码❤️!

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: