mng
01/12/2021, 3:53 PMmng
01/12/2021, 3:54 PM"yxgNZLv27IP00rtbuy+wAAVT4U6By+u7J1j8Q/QO8Q30+wsjjRruuDorN3Kpbe2E::HSIK62Vp2iLLrAYZvSyvY0e5upEMMHnFMnactC/YMFw="
mng
01/12/2021, 3:54 PMJ8CD]KyU1394764",
"recordingId" : "abcdefg",
"classId" : "abcdefg"
}
mng
01/12/2021, 3:55 PM{
"userId": abcedfg",
"recordingId" : "abcdefg",
"classId" : "abcdefg"
}
mng
01/12/2021, 3:57 PMfun String.decryptWithAES(key: String, iv: String): String? {
Security.addProvider(BouncyCastleProvider())
val skey = SecretKeySpec(key.toByteArray(Charsets.UTF_8), "AES")
val ivKey = ByteArray(iv.toByteArray(Charsets.UTF_8).size)
val input = android.util.Base64.decode(this.toByteArray(Charsets.UTF_8), android.util.Base64.CRLF or android.util.Base64.NO_WRAP)
synchronized(Cipher::class.java) {
val cipher = Cipher.getInstance("AES/CBC/PKCS5Padding")
cipher.init(Cipher.DECRYPT_MODE, skey, IvParameterSpec(ivKey))
val decryptedString = String(cipher.doFinal(input))
return decryptedString.trim { it <= ' ' }
}
}
Sinan Gunes
01/12/2021, 4:44 PMmng
01/12/2021, 4:50 PMSinan Gunes
01/12/2021, 4:59 PMmng
01/12/2021, 5:00 PMSinan Gunes
01/12/2021, 5:00 PMmng
01/12/2021, 5:00 PMmng
01/12/2021, 5:00 PMSinan Gunes
01/12/2021, 5:01 PMSinan Gunes
01/12/2021, 5:04 PMData("Hello World{}".utf8).base64EncodedString()
and
Base64.encodeToString("Hello World{}".toByteArray(Charsets.UTF_8))
mng
01/12/2021, 5:07 PMData
?Sinan Gunes
01/12/2021, 5:08 PMmng
01/12/2021, 5:08 PMmng
01/12/2021, 5:08 PMmng
01/12/2021, 5:11 PMmng
01/12/2021, 5:11 PMSGVsbG8gV29ybGR7fQ==
Sinan Gunes
01/12/2021, 5:12 PM{
"userId": abcedfg",
"recordingId" : "abcdefg",
"classId" : "abcdefg"
}
as String?mng
01/12/2021, 5:18 PMmng
01/12/2021, 5:18 PMKOTLIN
ewogICAgICBcInVzZXJJZFwiOiBcImFiY2VkZmdcIiwKICAgICAgXCJyZWNvcmRpbmdJZFwiIDogXCJhYmNkZWZnXCIsCiAgICAgIFwiY2xhc3NJZFwiIDogXCJhYmNkZWZnXCIKICAgIH0=
SWIFT
ewogICJ1c2VySWQiOiAiYWJjZWRmZyIsCiAgInJlY29yZGluZ0lkIiA6ICJhYmNkZWZnIiwKICAiY2xhc3NJZCIgOiAiYWJjZGVmZyIKfQ==
Sinan Gunes
01/12/2021, 5:19 PMSinan Gunes
01/12/2021, 5:21 PM.trim { it <= ' ' }
why do you need it?mng
01/12/2021, 5:21 PMmng
01/12/2021, 5:22 PMmng
01/12/2021, 5:23 PM::
with \r\n
mng
01/12/2021, 5:23 PMSinan Gunes
01/12/2021, 5:24 PM