
com.siashan.toolkit.crypt.symmetric.DESede Maven / Gradle / Ivy
package com.siashan.toolkit.crypt.symmetric;
/**
* DESede是由DES对称加密算法改进后的一种对称加密算法,又名3DES、TripleDES。
* 使用 168 位的密钥对资料进行三次加密的一种机制;它通常(但非始终)提供极其强大的安全性。
* 如果三个 56 位的子元素都相同,则三重 DES 向后兼容 DES。
* Java中默认实现为:DESede/ECB/PKCS5Padding
*
* @author siashan
* @since 1.0.7
*/
public class DESede extends SymmetricCrypt {
private static final long serialVersionUID = 1L;
// ------------------------------------------------------------------------- Constructor start
/**
* 构造,默认DESede/ECB/PKCS5Padding,使用随机密钥
*/
public DESede() {
}
@Override
public SymmetricAlgorithm getAlgorithm() {
return SymmetricAlgorithm.DESede;
}
/**
* 构造,使用随机密钥
*
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
*/
public DESede(Mode mode, Padding padding) {
super(SymmetricAlgorithm.DESede,mode, padding);
}
// ------------------------------------------------------------------------- Constructor end
/**
* 构建加密算法类
* 默认实现:DES/CBC/PKCS5Padding
*
* @return 加密算法类
*/
public static SymmetricCrypt build(){
return build(Mode.CBC,Padding.PKCS5Padding);
}
/**
* 构建加密算法类
*
* @param mode 密码模式
* @param padding 填充模式
* @return 加密算法类
*/
public static DESede build(Mode mode,Padding padding){
return new DESede(mode,padding);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy