我是加密新手。我需要实现非对称加密算法,我认为它使用私钥/公钥。我开始使用RSACryptoServiceProvider的一个示例。对于需要加密的小数据,这是可以的。但是当在相对较大的数据"2行“上使用它时,我得到了异常CryptographicException”错误的长度“!
//Create a new instance of RSACryptoServiceProvider.
using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
{
//Import the RSA Key inf
我在服务器上使用phpseclib加密数据
$rsa->loadKey($encryptkey);
$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1);
$ciphertext = $rsa->encrypt($str);
并在我的Java应用程序中接收它。数据为384字节(3*128)。
在Java中,我试图解密它(它们的密钥已经被正确分发),但我得到了这个异常:
javax.crypto.IllegalBlockSizeException: Data must not be longer than 128 bytes
下
我有RSA解密码的这一部分:
// Turn the encoded key into a real RSA private key.
// Private keys are encoded in PKCS#8.
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PrivateKey privateKey = keyFactory.generatePrivate(keySpec);
//
我正在做一个小学校的“项目”,这是一个小聊天程序。启动服务器,服务器向客户端发送一个公钥,以便客户端能够发送回加密数据。
问题是,当我试图在服务器端解密它时,我会收到一个错误。
javax.crypto.BadPaddingException: Decryption error
at sun.security.rsa.RSAPadding.unpadV15(RSAPadding.java:380)
at sun.security.rsa.RSAPadding.unpad(RSAPadding.java:291)
我的服务器正在等待一个socket.accept(),当客户端连接时,它会向这个套
我正在尝试运行两个简单的函数,它们是我用PyCryptodome为PyCrypto编写的。以下是包含相关类成员定义的函数: import Crypto.PublicKey.RSA as RSA
class MyRSA():
n = "123..." # these are actually very long string...
p = "345..."
u = "567..."
q = "789..."
e = long(65537)
t = (long(n), e,
我遵循了,在浏览器上使用公钥加密数据,使用私钥解密数据。
但是当我尝试使用私钥加密数据时,Uncaught (in promise) DOMException: key.usages does not permit this operation失败了。
如何在Web加密API中使用私钥加密数据?
我也在寻找一个javascript库,允许我在浏览器上生成RSA密钥对,加密和解密数据。我找到了一些RSA javascript库,但它们都需要使用open-ssl命令来生成RSA密钥对。