feat(EncoderUtils): add DES DESede method
This commit is contained in:
@@ -126,6 +126,179 @@ object EncoderUtils {
|
||||
return symmetricTemplate(data, key, "AES", transformation, iv, false)
|
||||
}
|
||||
|
||||
//////////DES Start
|
||||
|
||||
/**
|
||||
* Return the Base64-encode bytes of DES encryption.
|
||||
*
|
||||
* @param data The data.
|
||||
* @param key The key.
|
||||
* @param transformation The name of the transformation,
|
||||
* 加密算法/加密模式/填充类型, *DES/CBC/PKCS5Padding*.
|
||||
* @param iv The buffer with the IV. The contents of the
|
||||
* buffer are copied to protect against subsequent modification.
|
||||
* @return the Base64-encode bytes of AES encryption
|
||||
*/
|
||||
@Throws(Exception::class)
|
||||
fun encryptDES2Base64(
|
||||
data: ByteArray?,
|
||||
key: ByteArray?,
|
||||
transformation: String? = "DES/ECB/PKCS5Padding",
|
||||
iv: ByteArray? = null
|
||||
): ByteArray? {
|
||||
return Base64.encode(encryptDES(data, key, transformation, iv), Base64.NO_WRAP)
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the bytes of DES encryption.
|
||||
*
|
||||
* @param data The data.
|
||||
* @param key The key.
|
||||
* @param transformation The name of the transformation,
|
||||
* 加密算法/加密模式/填充类型, *DES/CBC/PKCS5Padding*.
|
||||
* @param iv The buffer with the IV. The contents of the
|
||||
* buffer are copied to protect against subsequent modification.
|
||||
* @return the bytes of AES encryption
|
||||
*/
|
||||
@Throws(Exception::class)
|
||||
fun encryptDES(
|
||||
data: ByteArray?,
|
||||
key: ByteArray?,
|
||||
transformation: String? = "DES/ECB/PKCS5Padding",
|
||||
iv: ByteArray? = null
|
||||
): ByteArray? {
|
||||
return symmetricTemplate(data, key, "DES", transformation!!, iv, true)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return the bytes of DES decryption for Base64-encode bytes.
|
||||
*
|
||||
* @param data The data.
|
||||
* @param key The key.
|
||||
* @param transformation The name of the transformation,
|
||||
* 加密算法/加密模式/填充类型, *DES/CBC/PKCS5Padding*.
|
||||
* @param iv The buffer with the IV. The contents of the
|
||||
* buffer are copied to protect against subsequent modification.
|
||||
* @return the bytes of AES decryption for Base64-encode bytes
|
||||
*/
|
||||
@Throws(Exception::class)
|
||||
fun decryptBase64DES(
|
||||
data: ByteArray?,
|
||||
key: ByteArray?,
|
||||
transformation: String = "DES/ECB/PKCS5Padding",
|
||||
iv: ByteArray? = null
|
||||
): ByteArray? {
|
||||
return decryptDES(Base64.decode(data, Base64.NO_WRAP), key, transformation, iv)
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the bytes of DES decryption.
|
||||
*
|
||||
* @param data The data.
|
||||
* @param key The key.
|
||||
* @param transformation The name of the transformation,
|
||||
* 加密算法/加密模式/填充类型, *DES/CBC/PKCS5Padding*.
|
||||
* @param iv The buffer with the IV. The contents of the
|
||||
* buffer are copied to protect against subsequent modification.
|
||||
* @return the bytes of AES decryption
|
||||
*/
|
||||
@Throws(Exception::class)
|
||||
fun decryptDES(
|
||||
data: ByteArray?,
|
||||
key: ByteArray?,
|
||||
transformation: String = "DES/ECB/PKCS5Padding",
|
||||
iv: ByteArray? = null
|
||||
): ByteArray? {
|
||||
return symmetricTemplate(data, key, "DES", transformation, iv, false)
|
||||
}
|
||||
|
||||
//////////DESede Start
|
||||
|
||||
/**
|
||||
* Return the Base64-encode bytes of DESede encryption.
|
||||
*
|
||||
* @param data The data.
|
||||
* @param key The key.
|
||||
* @param transformation The name of the transformation,
|
||||
* 加密算法/加密模式/填充类型, *DESede/CBC/PKCS5Padding*.
|
||||
* @param iv The buffer with the IV. The contents of the
|
||||
* buffer are copied to protect against subsequent modification.
|
||||
* @return the Base64-encode bytes of AES encryption
|
||||
*/
|
||||
@Throws(Exception::class)
|
||||
fun encryptDESede2Base64(
|
||||
data: ByteArray?,
|
||||
key: ByteArray?,
|
||||
transformation: String? = "DESede/ECB/PKCS5Padding",
|
||||
iv: ByteArray? = null
|
||||
): ByteArray? {
|
||||
return Base64.encode(encryptDESede(data, key, transformation, iv), Base64.NO_WRAP)
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the bytes of DESede encryption.
|
||||
*
|
||||
* @param data The data.
|
||||
* @param key The key.
|
||||
* @param transformation The name of the transformation,
|
||||
* 加密算法/加密模式/填充类型, *DESede/CBC/PKCS5Padding*.
|
||||
* @param iv The buffer with the IV. The contents of the
|
||||
* buffer are copied to protect against subsequent modification.
|
||||
* @return the bytes of AES encryption
|
||||
*/
|
||||
@Throws(Exception::class)
|
||||
fun encryptDESede(
|
||||
data: ByteArray?,
|
||||
key: ByteArray?,
|
||||
transformation: String? = "DESede/ECB/PKCS5Padding",
|
||||
iv: ByteArray? = null
|
||||
): ByteArray? {
|
||||
return symmetricTemplate(data, key, "DESede", transformation!!, iv, true)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return the bytes of DESede decryption for Base64-encode bytes.
|
||||
*
|
||||
* @param data The data.
|
||||
* @param key The key.
|
||||
* @param transformation The name of the transformation,
|
||||
* 加密算法/加密模式/填充类型, *DESede/CBC/PKCS5Padding*.
|
||||
* @param iv The buffer with the IV. The contents of the
|
||||
* buffer are copied to protect against subsequent modification.
|
||||
* @return the bytes of AES decryption for Base64-encode bytes
|
||||
*/
|
||||
@Throws(Exception::class)
|
||||
fun decryptBase64DESede(
|
||||
data: ByteArray?,
|
||||
key: ByteArray?,
|
||||
transformation: String = "DESede/ECB/PKCS5Padding",
|
||||
iv: ByteArray? = null
|
||||
): ByteArray? {
|
||||
return decryptDESede(Base64.decode(data, Base64.NO_WRAP), key, transformation, iv)
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the bytes of DESede decryption.
|
||||
*
|
||||
* @param data The data.
|
||||
* @param key The key.
|
||||
* @param transformation The name of the transformation,
|
||||
* 加密算法/加密模式/填充类型, *DESede/CBC/PKCS5Padding*.
|
||||
* @param iv The buffer with the IV. The contents of the
|
||||
* buffer are copied to protect against subsequent modification.
|
||||
* @return the bytes of AES decryption
|
||||
*/
|
||||
@Throws(Exception::class)
|
||||
fun decryptDESede(
|
||||
data: ByteArray?,
|
||||
key: ByteArray?,
|
||||
transformation: String = "DESede/ECB/PKCS5Padding",
|
||||
iv: ByteArray? = null
|
||||
): ByteArray? {
|
||||
return symmetricTemplate(data, key, "DESede", transformation, iv, false)
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the bytes of symmetric encryption or decryption.
|
||||
@@ -166,4 +339,4 @@ object EncoderUtils {
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user