crypto/md5

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了crypto/md5相关的知识,希望对你有一定的参考价值。

参考技术A Go标准库 crypto 包提供了加密解密、签名验签、HMAC、OpenSSL哈希等一整套封装。

MD5全称MD5信息摘要算法(MD5 Message-Digest Algorithm),使用密码散列函数产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。

MD5由美国密码学家罗纳德 李维斯特设计

MD5算法原理:MD5码以512位分组来处理输入信息,每个分组被划分为16个32位的子分组,经处理后,算法输出由4个32位分组组成,将其级联后生成一个128位散列值。

crypto/md5 包实现了MD5哈希算法,而MD5算法属于Hash算法的一种,因此 crypto/md5 包会实现 hash 包接口。

例如:获取MD5加密值

哈希算法保证只要输入的值不同就一定会得到两个不同的指定长度的哈希值。

crypto/md5 包实现的 hash 接口

crypto/md5 实现的哈希接口是16位的哈希函数,即 md5.Sum() 返回得字符切片长度是16位的。

为了简化操作 md5 提供了一个简便方法,即不通过 New 的方式来直接调用。

例如:

以上是关于crypto/md5的主要内容,如果未能解决你的问题,请参考以下文章

golang中crypto/hmac包

前端js几种加密/解密方法

crypto.pbkdf2 是异步的,如何将其视为同步?

在 virtualenv 中安装 M2Crypto 而不将 swig 安装到系统中

HGAME2020 Week3 Writeup

CryptoJS AES在Rails中加密等效