I am getting the below error while encrypting data.
System.InvalidParameterValueException: Invalid private key. Must be 16 bytes.: Class.System.Crypto.encryptWithManagedIV: line 50, column 1
Here is my code,
trigger Account_Encrypt_Trigger on Account (before insert,before update) { //Blob cryptoKey = Crypto.generateAesKey(128); Blob PrivateKey = EncodingUtil.base64Decode('Secretkey'); Blob data = Blob.valueOf('testuser'); Blob encryptedData = Crypto.encryptWithManagedIV('AES128',PrivateKey,data); Blob decryptedData = Crypto.decryptWithManagedIV('AES128',PrivateKey, encryptedData); String EncryptedDataString = EncodingUtil.base64Encode(encryptedData); String decryptedDataString = EncodingUtil.base64Encode(decryptedData); //String EncryptedDataString = encryptedData.toString(); //String decryptedDataString = decryptedData.toString(); system.debug('This is encrypted data '+ EncryptedDataString); system.debug('This is decrypted Data '+ decryptedDataString); }
Could someone please help me fix this issue.