>  기사  >  백엔드 개발  >  암호화 및 암호 해독 - PHP를 사용하여 Java에서 AES 암호화 구현

암호화 및 암호 해독 - PHP를 사용하여 Java에서 AES 암호화 구현

WBOY
WBOY원래의
2016-10-19 10:40:531476검색

Java의 AES 암호화 알고리즘은 다음과 같습니다.

<code>    public static byte[] decrypt(byte[] data, byte[] key)
            throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
        Security.addProvider(new BouncyCastleProvider());
        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");
        cipher.init(2, new SecretKeySpec(key, "AES"));
        return cipher.doFinal(data);
    }

    public static byte[] encrypt(byte[] data, byte[] key)
            throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
        Security.addProvider(new BouncyCastleProvider());
        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");
        cipher.init(1, new SecretKeySpec(key, "AES"));
        return cipher.doFinal(data);
    }</code>

PHP를 사용하여 이를 달성하는 방법을 알려주세요
많은 온라인 예제를 테스트했지만 동일한 암호문을 얻을 수 없습니다

답글 내용:

Java의 AES 암호화 알고리즘은 다음과 같습니다.

<code>    public static byte[] decrypt(byte[] data, byte[] key)
            throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
        Security.addProvider(new BouncyCastleProvider());
        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");
        cipher.init(2, new SecretKeySpec(key, "AES"));
        return cipher.doFinal(data);
    }

    public static byte[] encrypt(byte[] data, byte[] key)
            throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
        Security.addProvider(new BouncyCastleProvider());
        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");
        cipher.init(1, new SecretKeySpec(key, "AES"));
        return cipher.doFinal(data);
    }</code>

PHP를 사용하여 이를 달성하는 방법을 알려주세요
많은 온라인 예제를 테스트했지만 동일한 암호문을 얻을 수 없습니다

인코딩 문제일 수 있습니다. Java는 기본적으로 GBK 인코딩을 사용합니다.
PHP 인코딩 유형은 페이지의 저장 인코딩과 관련이 있습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.