mb-tec / chacha20
此包已被废弃,不再维护。未建议替代包。
ChaCha20加密算法的纯PHP实现。
v0.3.1
2021-02-26 17:11 UTC
Requires
- php-64bit: >=7.0
Requires (Dev)
- phpunit/phpunit: ~5.0
README
此库包含ChaCha20加密算法的纯PHP实现。
该库被编写为高性能(相对于PHP),但不够美观。它显然无法接近本地实现的性能。
使用
请记住,对于特定的密钥,nonce不得重复使用
$chacha20 = new ChaCha20\Cipher;
$encCtx = $chacha20->init($key, $nonce);
$decCtx = $chacha20->init($key, $nonce);
$cipherText = $chacha20->encrypt($encCtx, $message);
$plainText = $chacha20->decrypt($decCtx, $cipherText);
Context 对象维护算法的当前状态,因此可以在流式场景中使用。因此,同时执行加密和解密的应用程序需要维护两个上下文。
decrypt 方法是 encrypt 方法的别名,仅用于表示意图。
可以通过调用 setCounter 方法在密钥流上执行查找操作,其中计数以64字节块为单位。