Advertisement
Guest User

Untitled

a guest
Nov 7th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 0.94 KB | None | 0 0
  1. import java.security.MessageDigest
  2. import java.util.*
  3. import javax.crypto.Cipher
  4. import javax.crypto.spec.IvParameterSpec
  5. import javax.crypto.spec.SecretKeySpec
  6.  
  7. fun main(args: Array<String>) {
  8.     val cipher = Cipher.getInstance("AES/CBC/PKCS5PADDING")
  9.     val key = Arrays.copyOf(
  10.             MessageDigest.getInstance("SHA-256").digest("secret key".toByteArray()), 16
  11.     )
  12.     val secretKeySpec = SecretKeySpec(key, "AES")
  13.     val iv = Arrays.copyOf(
  14.             MessageDigest.getInstance("SHA-256").digest("initialization vector".toByteArray()),
  15.             16
  16.     )
  17.     val initVec = IvParameterSpec(iv)
  18.     cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, initVec)
  19.     val str = "My string to encrypt"
  20.     val enc = cipher.doFinal(str.toByteArray())
  21.     println(Base64.getEncoder().encodeToString(enc))
  22.     cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, initVec)
  23.     val result = String(cipher.doFinal(enc))
  24.     println(result)
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement