Class PasswordCryptoUtils

java.lang.Object
com.bytedesk.core.utils.PasswordCryptoUtils

public class PasswordCryptoUtils extends Object
密码加密解密工具类 与前端JavaScript实现保持一致的AES加密解密 修复说明: - 统一前后端密钥生成方式,解决 BadPaddingException 问题 - 对于特定盐值 "bytedesk_salt",使用固定密钥 "bytedesk_license"(与前端保持一致) - 对于其他盐值,使用SHA-256哈希生成16字节密钥(128位AES) - 加密算法:AES/ECB/PKCS5Padding
  • Field Details

  • Constructor Details

    • PasswordCryptoUtils

      public PasswordCryptoUtils()
  • Method Details

    • encryptPassword

      public static String encryptPassword(String password, String salt)
      使用AES加密密码
      Parameters:
      password - 原始密码
      salt - 盐值,用作加密密钥的一部分
      Returns:
      加密后的密码(Base64编码)
    • decryptPassword

      public static String decryptPassword(String encryptedPassword, String salt)
      使用AES解密密码
      Parameters:
      encryptedPassword - 加密后的密码(Base64编码)
      salt - 盐值,用作解密密钥的一部分
      Returns:
      解密后的原始密码
    • generateKeyFromSalt

      private static String generateKeyFromSalt(String salt)
      从盐值生成密钥 根据盐值确定密钥生成方式,与前端JavaScript实现保持一致
      Parameters:
      salt - 盐值
      Returns:
      密钥字符串
    • validateCrypto

      public static boolean validateCrypto(String originalPassword, String salt)
      验证加密解密功能
      Parameters:
      originalPassword - 原始密码
      salt - 盐值
      Returns:
      是否验证成功