liamylian / x-rsa
跨编程语言 Rsa
0.9.0
2018-08-12 08:28 UTC
Requires
- php: >=5.6.4
Requires (Dev)
- phpunit/phpunit: ~6.0
This package is not auto-updated.
Last update: 2024-09-27 10:27:18 UTC
README
OpenSSL RSA 加密、解密和密钥生成。支持 Java、Php、GoLang,支持大数据。
安装
Php
确保已启用 openssl 扩展。只需将 php/src/XRsa.php 和 php/src/helpers.php 复制到您的项目中。或者,您可以使用 composer 安装
composer require liamylian/x-rsa
GoLang
确保您的 golang 版本大于 1.10.3。只需将 golang/xrsa/xrsa.go 复制到您的项目中,或者使用以下命令
go get github.com/liamylian/x-rsa
Java
只需将 XRsa.java 复制到您的项目中
用法
Php
$keys = XRsa::createKeys(2048); $rsa = new XRsa($keys['publicKey'], $keys['privateKey']); $data = "Hello, World"; $encrypted = $rsa->publicEncrypt($data); $decrypted = $rsa->privateDecrypt($encrypted); $sign = $rsa->sign($data); $is_valid = $rsa->verify($data, $sign);
GoLang
publicKey := bytes.NewBufferString("") privateKey := bytes.NewBufferString("") err := CreateKeys(publicKey, privateKey, 2048) if err != nil { return } xrsa, err := NewXRsa(publicKey.Bytes(), privateKey.Bytes()) if err != nil { return } data := "Hello, World" encrypted, _ := xrsa.PublicEncrypt(data) decrypted, _ := xrsa.PrivateDecrypt(encrypted) sign, err := xrsa.Sign(data) err = xrsa.Verify(data, sign)
Java
Map<String, String> keys = XRsa.createKeys(2048); XRsa rsa = new XRsa(keys.get("publicKey"), keys.get("privateKey")); String data = "hello world"; String encrypted = rsa.publicEncrypt(data); String decrypted = rsa.privateDecrypt(encrypted); String sign = rsa.sign(data); Boolean isValid = rsa.verify(data, sign);