X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2FCryptUtils.java;h=681692a00e6323531b1dae680bf5d0b774c8190a;hb=272f5c86957c3caf4b3ed7d59448573914b7b33f;hp=b82a169ac21fffd4eb6d95f6df86c46a43566bfd;hpb=d20c8d77a98fbd80e8afe671568aad3325e90435;p=nikiroo-utils.git diff --git a/src/be/nikiroo/utils/CryptUtils.java b/src/be/nikiroo/utils/CryptUtils.java index b82a169..681692a 100644 --- a/src/be/nikiroo/utils/CryptUtils.java +++ b/src/be/nikiroo/utils/CryptUtils.java @@ -42,7 +42,11 @@ public class CryptUtils { */ public CryptUtils(String key) { try { - init(key2key(key)); + byte[] bytes32 = key2key(key); + init(bytes32); + for (int i = 0 ; i < bytes32.length ; i++) { + bytes32[i] = 0; + } } catch (InvalidKeyException e) { // We made sure that the key is correct, so nothing here e.printStackTrace(); @@ -62,6 +66,9 @@ public class CryptUtils { */ public CryptUtils(byte[] bytes32) throws InvalidKeyException { init(bytes32); + for (int i = 0 ; i < bytes32.length ; i++) { + bytes32[i] = 0; + } } /** @@ -267,6 +274,28 @@ public class CryptUtils { } } + /** + * Decode the data which is assumed to be encrypted with the same utilities + * and to be a {@link String}. + * + * @param data + * the encrypted data to decode + * + * @return the original, decoded data,as a {@link String} + * + * @throws SSLException + * in case of I/O error + */ + public String decrypts(byte[] data) throws SSLException { + try { + return new String(decrypt(data), "UTF-8"); + } catch (UnsupportedEncodingException e) { + // UTF-8 is required in all confirm JVMs + e.printStackTrace(); + return null; + } + } + /** * Decode the data which is assumed to be encrypted with the same utilities * and is a Base64 encoded value.