icyapril / cryptolib
CryptoLib:为每个人提供的安全、免费和开源的PHP加密库。
Requires
- php: >5.5.0
Requires (Dev)
- phpunit/phpunit: 4.8.27
This package is auto-updated.
Last update: 2024-09-09 02:26:56 UTC
README
#CryptoLib v2
CryptoLib:为每个人提供的安全、免费和开源的PHP加密库。它使得那些通常实现极其薄弱的加密的人能够轻松地包含安全的加密功能,以保护密码、数据和生成安全随机数据。
CryptoLib的特点
- 具有重复性检查的安全伪随机数/十六进制/字符串生成器
- 使用SHA512和Whirlpool之间的交替进行加盐PBKDF2散列
- 使用Rijndael 256、Twofish和Serpent进行双向级联加密
CryptoLib需要PHP 7.2.0+(带OpenSSL)。您应始终保持您的加密库插件更新。
请参阅以下文档: http://cryptolib.ju.je
示例
加密和解密文本
$encrypted = \IcyApril\CryptoLib::encryptData("test data", "test key"); $decrypted = \IcyApril\CryptoLib::decryptData($enc, "test key");
生成安全随机数据
$string = \IcyApril\CryptoLib::randomString(5); $number = \IcyApril\CryptoLib::randomInt(0, 4096); $hex = \IcyApril\CryptoLib::randomHex(256);
散列字符串并验证
$hash = \IcyApril\CryptoLib::hash("test"); $valid = \IcyApril\CryptoLib::validateHash($hash, "test");
为什么我要制作它
"我们拥有技术,但缺乏哲学";这句俗语在结合PHP的加密学领域中依然适用。作为一名软件工程师,每天与PHP打交道;很明显,不熟练的开发人员仍然在PHP中不安全地实现加密功能。无论是人们不加盐散列密码,还是生成弱随机数,甚至使用弱加密系统的加密系统。是的,有些人可能认为PHP开发人员并不是最适合解决这个问题的人,这就是为什么我创建了CryptoLib。CryptoLib提供了具有非凡和独特安全性的加密功能,只需一行简单的代码即可调用。CryptoLib的存在是为了让人们在PHP中确保他们的加密功能,例如将密码散列以存储在数据库中,保持合理的加密安全性。这个类使这项技术对所有人都可访问,而开发者是否能够走出黑暗并利用它则是另一回事。
版本日志
- v0.8 圣诞节 - 初始版本,于2014年圣诞节发布。
- v0.9 聚焦 - 文档更新,发布于2014年12月28日。
- v1.0 征服者 - 最后终于把它标记为v1。
- v2.0 熔合 - 用openssl替换了mcrypt。
警告
没有任何加密系统能够使某些东西变得不可能破解,它可以使这非常(非常、非常、非常)困难;加密学是关于创建一个数学上比创造更难解决的谜题。这适用于所有加密学,这个库也不例外,当人们的生命处于危险之中时,始终要小心使用加密。
CryptoLib版本为0.8,这并不一定是最终代码,尽管我已经尽力确保它是安全的;使用它时始终要小心。此外,请注意,CryptoLib不保证您的服务器安全。
术语
CryptoLib是一个开源的PHP加密库。版权(C)2014 Junade Ali
本程序是自由软件:您可以在自由软件基金会发布的GNU Affero通用公共许可证的条款下重新分发和/或修改它,许可证版本为3,或者(根据您的选择)任何更高版本。
本程序以希望其有用为前提进行分发,但没有任何保证;甚至没有关于其商业性或适用于特定目的的隐含保证。有关详细信息,请参阅GNU Affero通用公共许可证。
您应已收到随本程序一起提供的GNU Affero通用公共许可证副本。如果没有,请参阅https://gnu.ac.cn/licenses/。
注意
您必须保留对原始作者的归属声明完整。