java aes加密方式转换成PHP的,请指教

新手上路,请多包涵

有一段Java的aes加密方式,想转换成PHP7的 请问该怎么转换呢

public static String encrypt(String str, String secretKey) {
    try {
        // 加密
        Cipher cipher = Cipher.getInstance(AES);
        cipher.init(Cipher.ENCRYPT_MODE, getKey(secretKey));
        byte[] result = cipher.doFinal(str.getBytes());
        // return Hex.encodeHexString(result);
        //通过Base64转码返回
        return Base64.encodeBase64String(result);
    } catch (Exception e) {
        logger.error(e.getMessage(), e);
    }
    return "";
}


private static Key getKey(String secretKey) {
    try {
        // 生成KEY ,AES 要求密钥长度为 128
        KeyGenerator keyGenerator = KeyGenerator.getInstance(AES);
        SecureRandom secureRandom = SecureRandom.getInstance(SHA1PRNG);
        secureRandom.setSeed(secretKey.getBytes());
        keyGenerator.init(128, secureRandom);
        SecretKey secretKey1 = keyGenerator.generateKey();
        byte[] byteKey = secretKey1.getEncoded();
        return new SecretKeySpec(byteKey, AES);
    } catch (Exception e) {
        logger.error(e.getMessage(), e);
        return null;
    }
}
阅读 1.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题