加密算法仓库更新完成!支持18种算法!
仓库地址
仓库地址:https://github.com/palp1tate/go-crypto-guard
欢迎star
和fork
!
介绍
此存储库包含用 Go 编写的全面的密码哈希库。该库支持多种哈希算法,它允许可定制的盐长度、迭代、键长度和算法选择。这个开源项目旨在为开发人员提供一个多功能的工具,用于安全的密码存储和验证。
支持的算法:
- SHA512
- SHA384
- SHA256
- SHA1
- Md5
- HMAC
- Argon2
- Bcrypt
- Scrypt
- Blake2b
- Blake2s
- AES
- DES
- 3DES
- RSA
- RC4
- Blowfish
- ECC
一些加密过后的密码格式与Django内置的加密算法格式相同:
1 | <algorithm>$<iterations>$<salt>$<hash> |
其他可能的格式:
1 | <algorithm>$<hash> |
安装
1 | go get -u github.com/palp1tate/go-crypto-guard |
用法
SHA512
1 | // SHA512 使用 PBKDF2 和 SHA-512 对密码进行加密。 |
SHA384、 SHA256、 SHA1、 Md5和 Argon2的用法与 SHA512相同.
HMAC
1 | // HMAC 使用 HMAC 和 SHA-256 对密码进行加密。 |
Bcrypt
1 | // Bcrypt 使用 Bcrypt 哈希函数对密码进行加密。 |
对 Blake2b、 Blake2s 的使用与对 Bcrypt 的使用相同.
Scrypt
1 | // Scrypt 使用 Scrypt 密钥派生函数对密码进行加密。 |
AES
1 | // AES 使用 AES 加密算法对密码进行加密。 |
DES、ThreeDES、RC4和Blowfish的使用与Bcrypt相同,对于DES,desKey的长度必须为8。对于ThreeDES,threeDesKey的长度必须为24。rc4Key和BlowfishKey的长度没有限制,但对于Blowfish,密码的长度必须为8。
RSA
1 | // GenRSAKey 生成一对 RSA 密钥并将它们保存到文件中。 |
ECC
1 | // ECC 使用 ECC 加密算法对密码进行加密。 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 王翊珩!