importClass(Packages.java.security.SecureRandom);
importClass(Packages.javax.crypto.Cipher);
importClass(Packages.javax.crypto.KeyGenerator);
importClass(Packages.javax.crypto.spec.SecretKeySpec);
//importClass(Packages.leaf.plugin.util.Base64);
var AES = {
encrypt : function(key, data, alg) {
var base64 = new Packages.leaf.plugin.util.Base64(0, null, true);
var bytes = new java.lang.String(data).getBytes('UTF-8');
var gennerator = KeyGenerator.getInstance('AES');
seed = SecureRandom.getInstance(alg || "SHA1PRNG");
seed.setSeed(new java.lang.String(key).getBytes());
gennerator.init(128, seed);
var cipher = Cipher.getInstance('AES');
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(gennerator
.generateKey().getEncoded(), 'AES'));
bytes = cipher.doFinal(bytes);
return String(new java.lang.String(base64.encode(bytes), 'UTF-8'));
},
decrypt : function(key, data, alg) {
var base64 = new Packages.leaf.plugin.util.Base64(0, null, true);
var bytes = bytes = base64.decodeBase64(data);
var gennerator = KeyGenerator.getInstance('AES');
var seed = SecureRandom.getInstance(alg || "SHA1PRNG");
seed.setSeed(new java.lang.String(key).getBytes());
gennerator.init(128, seed);
var cipher = Cipher.getInstance('AES');
cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(gennerator
.generateKey().getEncoded(), 'AES'));
bytes = cipher.doFinal(bytes);
return String(new java.lang.String(bytes, 'UTF-8'));
}
};
-
Spencer Chang authoredbfd31bca