加密在JavaScript字符串和解密在Java(Encrypting string in java

2019-07-30 16:52发布

我想知道是否有人知道任何图书馆这样做在JavaScript加密和解密在Java中。 我已经尝试了很多API,但没有得到Java没有得到相同的值。
我想公私密钥加密,因此尝试使用RSA。 很少有我用如下:

  1. http://www-cs-students.stanford.edu/~tjw/jsbn/
  2. http://ats.oka.nu/titaniumcore/js/crypto/readme.txt
  3. http://www.ohdave.com/rsa/

几件事我检查,JavaScript的字符串分解成小块,然后进行加密,这使得在Java和JavaScript密文不同。 我编辑JavaScript代码使用字符串作为一个整体,但没有奏效。

我也试图html页面的字符集设置为UTF-8,但它也没有奏效。 我在加密单个字符串如要加密和正确解密这让我觉得有在通过除以小块(我检查加密的JavaScript字符串问题“K”得到了成功,但它无法与它加密的整个)。

我的Java实现:

BigInteger d = new BigInteger("1f3fac65c4ae222e3a3074dd4c38fbb72c0705c4bbac0385b867c12c25a44e01", 16);
BigInteger e = new BigInteger("65537");
BigInteger N = new BigInteger("b42e91fbca364cf2a125aec67ffbdab624fd401100c40ea05189ba34d1028b0d", 16);
String messageToEncrypt = "kishor";
byte [] messageByte = messageToEncrypt.getBytes();
BigInteger message = new BigInteger(messageByte);
//Encrypting and Decrypting messages
//Encrypt a message using N and e:
BigInteger ciphertext = message.modPow(e, N);
//Decrypt the message using N and d:
BigInteger plaintext = ciphertext.modPow(d, N);
byte[] plainTextByte = plaintext.toByteArray();
String decryptMessage = new String(plainTextByte);
/*System.out.println("p : " + p);
System.out.println("q : " + q);*/
System.out.println("N : " + N.toString(16));
System.out.println("e : " + e.toString(16));
System.out.println("d : " + d.toString(16));
/*System.out.println("PhiN : " + PhiN);*/
System.out.println("ciphertext : " + ciphertext.toString(16));
System.out.println("decryptMessage : " + decryptMessage);
}

请让我知道,如果我已经搜查了许多问题(在计算器本身),但无法找到一个解决方案是可能的。

Answer 1:

尝试废话AES(JS库) https://github.com/mdp/gibberish-aes/



Answer 2:

RSA是最好的密钥交换。 根据我的经验,谁在使用它为别的人不知道自己在做什么,如果他们坚持下去,最终建立一个毫无价值的密码系统。

我已经成功的Java和操作之间的相互斯坦福的JavaScript加密库。 有对称加密算法等诸多良好的JavaScript库。



Answer 3:

嘿家伙我想出的解决方案。 在JavaScript中,第一个字符是被加密引起的问题skiped。 固定循环。 感谢你的回复。



文章来源: Encrypting string in javascript and decryption in java