Szyfrowanie łańcucha w javascript i deszyfrowanie w java
Chciałbym wiedzieć, czy ktoś zna jakąkolwiek bibliotekę do szyfrowania w javascript i deszyfrowania w java. Próbowałem już wielu API, ale nie uzyskując tych samych wartości w Javie.
Chcę szyfrować klucz publiczny-prywatny, a więc spróbuj użyć RSA. Niewielu z nich skorzystałem to:
Kilka rzeczy, które sprawdziłem, javascript łamie ciąg na małe fragmenty, a następnie szyfruje je, co powoduje, że tekst w szyfrach java i javascript jest inny. Edytuję kod javascript, aby używać ciągu jako całości, ale nie działa.
Próbowałem też ustawić kodowanie strony html na utf-8, ale też nie działało. Udało mi się zaszyfrować pojedynczy ciąg znaków, taki jak „K”, aby został zaszyfrowany i odszyfrowany poprawnie, co sprawia, że myślę, że istnieje problem z szyfrowaniem łańcucha w javascript, dzieląc go na małe porcje (które sprawdziłem, ale nie udaje się go zaszyfrować jako cały).
moja implementacja java to:
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);
}
Proszę dać mi znać, jeśli jest to możliwe, ponieważ przeszukałem wiele pytań (w samym stackoverflow), ale nie mogę znaleźć rozwiązania.