shizzo91/crypto
Composer 安装命令:
composer require shizzo91/crypto
包简介
From symmetric to hybrid encryption, everything is possible. There is symmetric encryption, asymmetric encryption, multiple asymmetric encryption, hybrid encryption and multiple hybrid encryption.
README 文档
README
Symmetrical
usage
// encoding $password = "password"; $symmetricalCrypto = new SymmetricalCrypto($password); $encoded = $symmetricalCrypto->encode("Stringable or string"); // decoding $password = "password"; $symmetricalCrypto = new SymmetricalCrypto($password); $decode = $symmetricalCrypto->decode($encoded);
Asymmetric or Hybrid
create a RSA key
# Private key generation (with passphrase) openssl req -new -nodes -sha512 -newkey rsa:2048 -keyout private.pem # Private key generation (without passphrase) openssl req -nodes -new -x509 -keyout private.pem # Public key extraction openssl rsa -in private.pem -pubout -out public.pem
usage for simple asymmetric
$privateSimpleCrypto = new PrivateSimpleCrypto( "../private-2.pem", // file or text "passphrase" // passphrase optional ); $encoded = $privateSimpleCrypto->encode("Stringable or string"); $publicSimpleCrypto = new PublicSimpleCrypto( "../public-2.pem" // file or text ); $decode = $publicSimpleCrypto->decode($encoded);
usage for double asymmetric
// simple // encoding $privateSimpleCrypto = new PrivateSimpleCrypto( "../private-2.pem", // file or text "passphrase" // passphrase optional ); $encoded = $privateSimpleCrypto->encode("Stringable or string"); // decoding $publicSimpleCrypto = new PublicSimpleCrypto( "../public-2.pem" // file or text ); $decode = $publicSimpleCrypto->decode($encoded); // double // encoding $myPrivateKey = new PrivateSimpleCrypto("../private.pem"); $receiverPublicKey = new PublicSimpleCrypto("../public-2.pem"); $doubleCrypto = new DoubleCrypto( $receiverPublicKey, $myPrivateKey ); $encoded = $doubleCrypto->encode("Stringable or string"); // decoding // with text as key $receiverPrivateKey = "-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----"; $myPublicKey = "../public.pem"; $doubleCryptoReceiver = DoubleCrypto::create($myPublicKey, $receiverPrivateKey, "secret"); $decoded = $doubleCryptoReceiver->decode($encoded); var_dump($decoded); // "Stringable or string"
usage for hybrid
// simple // encoding $simpleHybridPrivate = HybridCrypto::createPrivateSimple("password", "../private.pem"); $encoded = $simpleHybridPrivate->encode("Stringable or string"); // decoding $simpleHybridPublic = HybridCrypto::createPublicSimple("password", "../public.pem"); $decoded = $simpleHybridPublic->encode($encoded); // double // encoding $doubleHybridTransmitter = HybridCrypto::createDouble( "password", "../public-2.pem", "../private.pem" ); $encoded = $doubleHybridTransmitter->encode("Stringable or string"); // decoding $doubleHybridReceiver = HybridCrypto::createDouble( "password", "../public.pem", "../private-2.pem", "passphrase" ); $decoded = $doubleHybridReceiver->encode($encoded);
shizzo91/crypto 适用场景与选型建议
shizzo91/crypto 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 09 月 03 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 shizzo91/crypto 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 shizzo91/crypto 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 19
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-09-03