小编use*_*117的帖子

RSA加密:Java到PHP

我正在尝试在Java和PHP中实现RSA加密,但我似乎无法让PHP识别我的Java公钥/私钥.以下是编码/解码公钥和私钥的java代码:

public static byte[] EncodePublicKey(PublicKey _publickey) throws Exception
{
    return _publickey.getEncoded();
}

public static PublicKey DecodePublicKey(byte[] _encodedkey) throws Exception
{
    KeyFactory fac = KeyFactory.getInstance("RSA");
    X509EncodedKeySpec encodedKey = new X509EncodedKeySpec(_encodedkey);
    return fac.generatePublic(encodedKey);
}

public static byte[] EncodePrivateKey(PrivateKey _privatekey) throws Exception
{
    return _privatekey.getEncoded();
}

public static PrivateKey DecodePrivateKey(byte[] _encodedkey) throws Exception
{
    KeyFactory fac = KeyFactory.getInstance("RSA");
    PKCS8EncodedKeySpec encodedKey = new PKCS8EncodedKeySpec(_encodedkey);
    return fac.generatePrivate(encodedKey);
}
Run Code Online (Sandbox Code Playgroud)

我首先尝试使用PEAR Crypt_RSA函数,但它不支持X.509或PKCS8(它只是简单的base64编码序列化模数,指数和键类型).然后我尝试了OpenSSL"openssl_get_publickey"函数,但它似乎也没有识别格式.

任何帮助将非常感谢oO

php java rsa

7
推荐指数
2
解决办法
6075
查看次数

RSA加密AES密钥的优势

我目前正在开发一个在客户端和服务器之间传输数据的系统,并且想知道我计划使用的加密强度是多少.

我的想法是拥有一个私有/公共RSA密钥对,并将公钥分发给每个客户端(仅将私钥留在服务器上).然后,每个客户端将生成自己的AES密钥,RSA会对其进行加密.然后,他们将AES加密其数据并将加密的数据和加密的AES密钥发送到服务器.然后,服务器将使用私钥解密AES密钥,然后使用AES密钥解密数据.

是否有任何我缺少的安全漏洞和/或有更好的方法吗?

security encryption cryptography rsa aes

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

rsa ×2

aes ×1

cryptography ×1

encryption ×1

java ×1

php ×1

security ×1