crazy-max / cws-crypto
PHP 类,支持多种加密方法进行密码散列。
Requires
- php: >=5.3.0
- crazy-max/cws-debug: ~1.11
README
⚠️ 废弃项目
该项目不再维护并已被废弃。如有需要,请随意分支并自行修改。
感谢大家宝贵的反馈和贡献。
关于
PHP 类,支持多种加密方法进行密码散列。
概述
PBKDF2 密钥派生函数
由 RSA 的 PKCS #5 定义:https://www.ietf.org/rfc/rfc2898.txt
PBKDF2 的此实现最初由 https://defuse.ca/php-pbkdf2.htm 创建
由 http://www.variations-of-shadow.com 改进
基于 OpenBSD 风格的 Blowfish bcrypt
在 PHP 中,这种哈希方法被称为 CRYPT_BLOWFISH。
更多信息: https://php.ac.cn/security/crypt_blowfish.php
BCRYPT 的此实现最初由 http://www.openwall.com/phpass/ 创建
生成随机字节
提供 random() 函数,通过 5 种方法生成安全的随机字节
- mcrypt_create_iv
- openssl_random_pseudo_bytes
- 来自 CAPICOM Microsoft 类的 GetRandom 函数
- Unix 系统上的 /dev/urandom
- 结合 microtime 和 getmypid 函数
加密/解密数据
还有一个方法可以使用 blowfish 算法和 CFB 模式下的加密密钥使用对称加密字符串来加密/解密数据,但请注意,您不应该使用此方法处理真正敏感的数据。
安装
composer require crazy-max/cws-crypto
并下载代码
composer install # or update
入门
请参阅 tests/test.php
文件示例以获取帮助。
示例
方法
hashPassword - 创建密码散列。
checkPassword - 使用提供的密码检查散列。
encrypt - 使用 blowfish 算法和 CFB 模式下的加密密钥生成对称加密字符串。
解密 - 返回由 encrypt 方法生成的解密字符串。
随机 - 使用 5 种方法生成安全的随机字节:mcrypt_create_iv、openssl_random_pseudo_bytes、从 CAPICOM 微软类中获取 GetRandom()、Unix 系统上的 /dev/urandom 或 mt_rand() 和 getmypid() 函数。
setPbkdf2Mode - 设置 pbkdf2 模式以进行哈希/检查密码。
setBcryptMode - 设置 bcrypt 模式以进行哈希/检查密码。(默认)
setEncryptionKey - 设置加密方法(加密/解密)的加密密钥(最大长度 56)。
getError - 获取最后一个错误。
我能帮什么忙?
欢迎所有类型的贡献 🙌!展示你支持的最基本方式是给项目 star 🌟,或者提出 issues 💬。你还可以通过 成为 GitHub 赞助者 👏 或通过 Paypal 捐赠 来支持此项目,以确保这一旅程无限期地继续!🚀
再次感谢您的支持,非常感激!🙏
许可协议
MIT。有关更多信息,请参阅 LICENSE
。