Heim  >  Artikel  >  Backend-Entwicklung  >  Verschlüsselung und Entschlüsselung – Verwendung von PHP zur Implementierung der AES-Verschlüsselung in Java

Verschlüsselung und Entschlüsselung – Verwendung von PHP zur Implementierung der AES-Verschlüsselung in Java

WBOY
WBOYOriginal
2016-10-19 10:40:531461Durchsuche

Der AES-Verschlüsselungsalgorithmus in Java lautet wie folgt:

<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>

Bitte sagen Sie mir, wie ich PHP verwenden kann, um dies zu erreichen
Ich habe viele Online-Beispiele getestet, kann aber nicht den gleichen Chiffretext erhalten

Antwortinhalt:

Der AES-Verschlüsselungsalgorithmus in Java lautet wie folgt:

<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>

Bitte sagen Sie mir, wie ich PHP verwenden kann, um dies zu erreichen
Ich habe viele Online-Beispiele getestet, kann aber nicht den gleichen Chiffretext erhalten

Möglicherweise liegt ein Codierungsproblem vor. Java verwendet standardmäßig die GBK-Codierung.
Der PHP-Codierungstyp hängt mit der Speichercodierung der Seite zusammen.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn