diff --git a/continew-starter-security/continew-starter-security-crypto/src/main/java/top/charles7c/continew/starter/security/crypto/encryptor/DesEncryptor.java b/continew-starter-security/continew-starter-security-crypto/src/main/java/top/charles7c/continew/starter/security/crypto/encryptor/DesEncryptor.java new file mode 100644 index 00000000..ec15dd36 --- /dev/null +++ b/continew-starter-security/continew-starter-security-crypto/src/main/java/top/charles7c/continew/starter/security/crypto/encryptor/DesEncryptor.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + *

+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.gnu.org/licenses/lgpl.html + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package top.charles7c.continew.starter.security.crypto.encryptor; + +import cn.hutool.crypto.symmetric.SymmetricAlgorithm; + +/** + * DES(Data Encryption Standard) 加/解密处理器 + *

+ * 一种对称加密算法,使用相同的密钥进行加密和解密。DES 使用 56 位密钥(实际上有 64 位,但有 8 位用于奇偶校验)和一系列置换和替换操作来加密数据。 + *

+ * + * @author Charles7c + * @since 1.4.0 + */ +public class DesEncryptor extends AbstractSymmetricCryptoEncryptor { + + @Override + protected SymmetricAlgorithm getAlgorithm() { + return SymmetricAlgorithm.DES; + } +} diff --git a/continew-starter-security/continew-starter-security-crypto/src/main/java/top/charles7c/continew/starter/security/crypto/encryptor/PbeWithMd5AndDesEncryptor.java b/continew-starter-security/continew-starter-security-crypto/src/main/java/top/charles7c/continew/starter/security/crypto/encryptor/PbeWithMd5AndDesEncryptor.java new file mode 100644 index 00000000..cff73dea --- /dev/null +++ b/continew-starter-security/continew-starter-security-crypto/src/main/java/top/charles7c/continew/starter/security/crypto/encryptor/PbeWithMd5AndDesEncryptor.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + *

+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.gnu.org/licenses/lgpl.html + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package top.charles7c.continew.starter.security.crypto.encryptor; + +import cn.hutool.crypto.symmetric.SymmetricAlgorithm; + +/** + * PBEWithMD5AndDES(Password Based Encryption With MD5 And DES) 加/解密处理器 + *

+ * 混合加密算法,结合了 MD5 散列算法和 DES(Data Encryption Standard)加密算法 + *

+ * + * @author Charles7c + * @since 1.4.0 + */ +public class PbeWithMd5AndDesEncryptor extends AbstractSymmetricCryptoEncryptor { + + @Override + protected SymmetricAlgorithm getAlgorithm() { + return SymmetricAlgorithm.PBEWithMD5AndDES; + } +} diff --git a/continew-starter-security/continew-starter-security-crypto/src/main/java/top/charles7c/continew/starter/security/crypto/enums/Algorithm.java b/continew-starter-security/continew-starter-security-crypto/src/main/java/top/charles7c/continew/starter/security/crypto/enums/Algorithm.java index 6eaa040e..f8c63ea0 100644 --- a/continew-starter-security/continew-starter-security-crypto/src/main/java/top/charles7c/continew/starter/security/crypto/enums/Algorithm.java +++ b/continew-starter-security/continew-starter-security-crypto/src/main/java/top/charles7c/continew/starter/security/crypto/enums/Algorithm.java @@ -16,10 +16,7 @@ package top.charles7c.continew.starter.security.crypto.enums; -import top.charles7c.continew.starter.security.crypto.encryptor.AesEncryptor; -import top.charles7c.continew.starter.security.crypto.encryptor.Base64Encryptor; -import top.charles7c.continew.starter.security.crypto.encryptor.IEncryptor; -import top.charles7c.continew.starter.security.crypto.encryptor.RsaEncryptor; +import top.charles7c.continew.starter.security.crypto.encryptor.*; /** * 加密/解密算法枚举 @@ -34,6 +31,16 @@ public enum Algorithm { */ AES(AesEncryptor.class), + /** + * DES + */ + DES(DesEncryptor.class), + + /** + * PBEWithMD5AndDES + */ + PBEWithMD5AndDES(PbeWithMd5AndDesEncryptor.class), + /** * RSA */