小编Car*_*lid的帖子

Java不可靠的RSA加密/解密字符串

我用Java中的RSA算法对字符串进行不可靠的加密和解密有一个非常烦人的问题.它接缝只能在35%的时间内工作,我无法弄清楚为什么它有时会起作用,有时却不起作用.这是我写的一些测试代码,试图验证加密/解密中的随机性.它运行100圈,每次加密和解密相同的字符串并打印成功的次数:

    public static void main(String[] args) throws Exception {
    byte[] dataToEncrypt = "Hello World!".getBytes("UTF-16LE");
    byte[] cipherData = null;
    byte[] decryptedData;

    KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
    kpg.initialize(512);
    KeyPair kp = kpg.genKeyPair();
    Key publicKey = kp.getPublic();
    Key privateKey = kp.getPrivate();
    KeyFactory fact = KeyFactory.getInstance("RSA");

    RSAPublicKeySpec pub = (RSAPublicKeySpec) fact.getKeySpec(publicKey,
            RSAPublicKeySpec.class);

    RSAPublicKeySpec spec = new RSAPublicKeySpec(pub.getModulus(), pub
            .getPublicExponent());
    KeyFactory factory = KeyFactory.getInstance("RSA");

    PublicKey publicKeyRSA = factory.generatePublic(spec);
    Cipher cipher = Cipher.getInstance("RSA");

    int k = 0;
    for (int i = 0; i < 100; i++) { …
Run Code Online (Sandbox Code Playgroud)

java string encryption rsa

2
推荐指数
1
解决办法
4048
查看次数

标签 统计

encryption ×1

java ×1

rsa ×1

string ×1