当我使用以下代码创建公钥/私钥时:
// Create the CspParameters object and set the key container
// name used to store the RSA key pair.
CspParameters cp = new CspParameters();
cp.KeyContainerName = ContainerName;
// Create a new instance of RSACryptoServiceProvider that accesses
// th
我正在做一个小学校的“项目”,这是一个小聊天程序。启动服务器,服务器向客户端发送一个公钥,以便客户端能够发送回加密数据。
问题是,当我试图在服务器端解密它时,我会收到一个错误。
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(),当客户端连接时,它会向这个套
我想用RSA加密和解密文件。加密效果很好。但我解密的时候会出错。
错误是键不存在。
以下是错误:
public byte[] RSA_Encrypt(byte[] bytesToBeEncrypted, byte[] passwordBytes, RSAParameters RSAKeyInfo)
{
//initialze the byte arrays to the public key information.
byte[] PublicKey = {214,46,220,83,160,73,40,39,201,155,19,202,3,11,191,178,56,
我正在尝试设置一个简单的服务器端RSA加密的一小块信息,这是解密在客户端。作为概念证明,我编写了几行代码来确保可以从xml加载公钥和私钥。然而,我正在努力让最简单的东西也能在我的机器上运行:
byte[] bytes = Encoding.UTF8.GetBytes("Some text");
bool fOAEP = true;
// seeding a public and private key
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
var publicKey =
所以我假设我做错了什么,我的AES和RSA加密和解密类是不安全的。我计划在一个更大的项目中使用它们,并希望确保我没有首先完全屏蔽它们。我的问题如下:
如果有的话,是什么使这两个类不安全呢?
如果有的话,我的代码会变得更整洁/更好吗?
我有什么不想问的
AES:
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
/**
* Created by Gabriel Wittes on 3/15/2016.
* A class to encrypt and de
我在服务器上使用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
下
在使用RSACryptoServiceProvider.Decrypt解密文本时,我得到了以下错误:
解码OAEP填充时发生错误。
这是我的密码:
CspParameters cspParam = new CspParameters();
cspParam = new CspParameters();
cspParam.Flags = CspProviderFlags.UseMachineKeyStore;
clsCertificates cc = new clsCertificates();
string a = "";
cc.OpenStoreIE(ref
当显式地将标识文件指定为ssh时:
ssh -i ./id_rsa ...
我在ssh调试跟踪中有以下几行:
debug1: Offering public key: ./id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
它是否意味着ssh生成的id_rsa包含公共RSA指数?id_rsa格式似乎相当明确,它包含私钥和它的“开始私钥”块,所以“提供公钥”必须意味着“向服务器发送公钥”。
编辑:
为了澄清这一点,我想知道在“提供公钥”的背后到底发生了什么。如果客户端持有多个密钥,则
我现在对RSA有一个问题。我在javascript和PHP中有相同的模数和指数,两者都使用Javascript中的PKCS#1,我使用
var rsa = new RSAKey();
rsa.setPublic("modulus","ex");
var result = rsa.encrypt(text);
在PHP中,我使用
require_once 'Crypt/RSA.php';
$rsa = new Crypt_RSA();
$n="modulus";
$e="ex";
$rsa->modulus=
我正在尝试设置RSA加密,这样我就可以创建一个简单的库供自己将来使用,而我无法让这个简单的代码工作。以下是源代码:
package rsa.testing;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import javax.crypto.Cipher;
public class AloneTest
{
public static void doTest()
{
try
{
KeyPairGenerator gen = K
所以我一直在尝试在中使用node,在中使用javascript来创建一个网站(对于一个任务),在这个网站中,javascript客户端获取服务器生成的公钥(node-rsa),对用户输入的消息(jsencrypt)进行加密,将其发送到服务器并让服务器对其进行解密(node-rsa)。密钥的生成起作用了,加密起作用了,而解密却不行。
var NodeRSA = require('node-rsa');
var myDecrypter = new NodeRSA({b: 512});
当客户端请求密钥时(我使用的是express),将运行以下代码。
app.get('/ge