I want to encrypt the password using the key from the server and decrypt the encrypted password on the server. this is the code i used in my application
package publicprivatekey; import java.security.*; import java.security.spec.InvalidKeySpecException; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; import java.util.Base64; import javax.crypto.*; public class PublicPrivateKey { public static String getEncrypted(String data, String Key) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidKeySpecException, IllegalBlockSizeException, BadPaddingException { Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); PublicKey publicKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(Base64.getDecoder().decode(Key.getBytes()))); cipher.init(Cipher.ENCRYPT_MODE, publicKey); byte[] encryptedbytes = cipher.doFinal(data.getBytes()); return new String(Base64.getEncoder().encode(encryptedbytes)); } public static String getDecrypted(String data, String Key) throws NoSuchAlgorithmException, InvalidKeySpecException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException { Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); PrivateKey pk = KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(Base64.getDecoder().decode(Key.getBytes()))); cipher.init(Cipher.DECRYPT_MODE, pk); byte[] encryptedbytes = cipher.doFinal(Base64.getDecoder().decode(data.getBytes())); return new String(encryptedbytes); } public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException, InvalidKeySpecException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException {
I want to encrypt the password using the key from the server and decrypt the encrypted password on the server. this is the code i used in my application.
source share