Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. public String KEY = "Just to encrypt and decrypt";
  2. public Byte[] IvB = ("Dein IvB").getBytes();
  3. public String Salt = "Dein Salt";
  4.  
  5.  
  6. public String encrypt(String str) {
  7. try {
  8. IvParameterSpec ivspec = new IvParameterSpec(this.IvB);
  9.  
  10. SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256");
  11. KeySpec spec = new PBEKeySpec(this.KEY.toCharArray(), salt.getBytes(), 65536, 256);
  12. SecretKey tmp = factory.generateSecret(spec);
  13. SecretKeySpec secretKey = new SecretKeySpec(tmp.getEncoded(), "AES");
  14.  
  15. Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
  16. cipher.init(Cipher.ENCRYPT_MODE, secretKey, ivspec);
  17.  
  18. return Base64.getEncoder().encodeToString(cipher.doFinal(str.getBytes("UTF-8")));
  19. } catch (Exception e) {
  20. System.out.println("Error while encrypting: " + e.toString());
  21. }
  22. return null;
  23. }
  24.  
  25. public String decrypt(String str) {
  26. try {
  27. IvParameterSpec ivspec = new IvParameterSpec(this.IvB);
  28.  
  29. SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256");
  30. KeySpec spec = new PBEKeySpec(this.KEY.toCharArray(), salt.getBytes(), 65536, 256);
  31. SecretKey tmp = factory.generateSecret(spec);
  32. SecretKeySpec secretKey = new SecretKeySpec(tmp.getEncoded(), "AES");
  33.  
  34. Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5PADDING");
  35. cipher.init(Cipher.DECRYPT_MODE, secretKey, ivspec);
  36.  
  37. return new String(cipher.doFinal(Base64.getDecoder().decode(str)));
  38. } catch (Exception e) {
  39. System.out.println("Error while decrypting: " + e.toString());
  40. }
  41. return null;
  42. }
  43.  
  44.  
  45. /////////////////////////////////////////////////////////////////////////////////////////////////////////////
  46.  
  47.  
  48. function encrypt(str, KEY, IvB, SALT) {
  49. var key = KEY;
  50. var iv = Buffer.from(IvB, 'utf8');
  51. var salt = SALT;
  52.  
  53. key = crypto.pbkdf2Sync(key, new Buffer(salt, 'hex'), 65536, 32, 'sha256');
  54. var cipher = crypto.createCipheriv('aes-256-cbc', key, iv);
  55. cipher.setAutoPadding(true);
  56.  
  57. var cip = cipher.update(str, 'utf8', 'base64');
  58. cip += cipher.final('base64');
  59.  
  60. return cip;
  61. };
  62.  
  63. function decrypt(str, KEY, IvB, SALT) {
  64. var key = KEY;
  65. var iv = Buffer.from(IvB, 'utf8');
  66. var salt = SALT;
  67.  
  68. key = crypto.pbkdf2Sync(key, new Buffer(salt), 65536, 32, 'sha256');
  69.  
  70. console.log();
  71.  
  72. var decipher = crypto.createDecipheriv('aes-256-cbc', key, iv);
  73. decipher.setAutoPadding(true);
  74.  
  75. var dec = decipher.update(str, 'base64', 'utf8');
  76. dec += decipher.final('utf8');
  77.  
  78. return dec;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement