{"id":415,"title":"php,java,android, aes\u52a0\u89e3\u5bc6-\u52a0\u5bc6\u540e\u7684\u7ed3\u679c\u4e0d\u4e00\u6837\u7684\u89e3\u51b3\u65b9\u6cd5","good":1,"bad":1,"hit":3645,"created_at":"2019-01-10 10:42:52","content":"

\u573a\u666f\uff1a<\/p>

app\u5f00\u53d1\uff0c\u5bf9\u63a5\u63a5\u53e3\uff0c\u8fdb\u884c\u7b7e\u540dsign\u9a8c\u8bc1\uff0c\u91c7\u7528aes\u52a0\u5bc6\uff0c\u6700\u540e\u53d1\u73b0php\u4e2d\u751f\u6210\u7684sign\u4e0ejava\uff08android)\u4e2d\u4e0d\u4e00\u6837\uff0c\u5c1d\u8bd5\u4e86\u4e00\u9635\u5b50\u627e\u5230\u89e3\u51b3\u65b9\u6cd5\uff1a<\/p>

<\/p>

php\u4e2daes\u52a0\u89e3\u5bc6\uff1a<\/p>

<\/p>

<?php<\/p>

$str='www.hu-rong.com';<\/p>

$key='d8b2b7da008e57bd4f4f7b3177415973';<\/p>

$iv='1234567890123456';\/\/\u6b64\u79cd\u6a21\u5f0f\u4e0biv\u957f\u5ea6\u4e3a16<\/p>

$method='aes-256-cbc';<\/p>

echo '\u8981\u52a0\u5bc6\u7684\u5b57\u7b26\u4e32:'.$str.'<br\/>';<\/p>

echo 'key:'.$key.'<br\/>';<\/p>

echo 'iv:'.$iv.'<br\/>';<\/p>

echo '\u6a21\u5f0f:'.$method.'<br\/>';<\/p>

echo '\u52a0\u5bc6\u540e\u7684\u7ed3\u679c\u662f:<br\/>';<\/p>

echo $str_jiami=openssl_encrypt($str, $method, $key, 0, $iv);<\/p>

echo '<br\/>\u89e3\u5bc6\u540e\u7684\u7ed3\u679c\u662f\uff1a';<\/p>

echo openssl_decrypt($str_jiami, $method,$key,false,$iv);<\/p>

<\/p>

<\/p>

\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>

key:d8b2b7da008e57bd4f4f7b3177415973<\/span>iv:1234567890123456<\/span>\u6a21\u5f0f:aes-256-cbc<\/span>\u52a0\u5bc6\u540e\u7684\u7ed3\u679c\u662f:<\/span>vJOK\/SYa068JScpaOrTfeg==<\/span>\u89e3\u5bc6\u540e\u7684\u7ed3\u679c\u662f\uff1awww.hu-rong.com<\/span><\/p>

\u8981\u52a0\u5bc6\u7684\u5b57\u7b26\u4e32:www.hu-rong.com<\/pre>

<\/p>

<\/p>

java\u4e2d\u52a0\u5bc6\u65b9\u6cd51\uff0c\u9057\u61be\u7684\u662f\u8fd9\u4e2a\u6ca1\u6709\u63d0\u4f9b\u89e3\u5bc6\u65b9\u6cd5\uff1a<\/p>

https:\/\/blog.csdn.net\/xiojing825\/article\/details\/78491374<\/a> <\/p>

<\/p>

package main.java.com.leon.channel.command;<\/p>

import javax.crypto.Cipher;<\/p>

import javax.crypto.spec.IvParameterSpec;<\/p>

import javax.crypto.spec.SecretKeySpec;<\/p>

import java.util.Base64;<\/p>

<\/p>

public class Main {<\/p>

<\/p>

    public static void main(String[] args) {<\/p>

        String data = "my_data";<\/p>

        String passwrod = "my_password";<\/p>

        String iv = "1234567890123456";<\/p>

<\/p>

        try {<\/p>

            String base64Str = java_openssl_encrypt(data, passwrod, iv);<\/p>

<\/span>\/\/\u8f93\u51fa\uff1a\u3000uD1WB\/3VZH+zEObhVxdQvA==<\/p>

            System.out.print(base64Str);<\/p>

<\/p>

        } catch (Exception e) {<\/p>

            e.printStackTrace();<\/p>

        }<\/p>

    }<\/p>

<\/p>

    public static String java_openssl_encrypt(String data, String password, String iv) throws Exception {<\/p>

        byte[] key = new byte[32];<\/p>

        for (int i = 0; i < 32; i++) {<\/p>

            if (i < password.getBytes().length) {<\/p>

                key[i] = password.getBytes()[i];<\/p>

            } else {<\/p>

                key[i] = 0;<\/p>

            }<\/p>

        }<\/p>

<\/p>

        Cipher cipher = Cipher.getInstance("AES\/CBC\/PKCS5Padding");<\/p>

<\/p>

        cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(key, "AES"),<\/p>

                new IvParameterSpec(iv.getBytes()));<\/p>

<\/p>

        String base64Str = Base64.getEncoder().encodeToString(cipher.doFinal(data.getBytes()));<\/p>

<\/p>

<\/p>

        return base64Str;<\/p>

    }<\/p>

<\/p>

}<\/p>

<\/p>

java aes\u52a0\u89e3\u5bc6\u65b9\u6cd52\uff1a<\/p>

https:\/\/github.com\/simplephp\/php-java-AES-128-ECB\/blob\/master\/aes.php<\/a> <\/p>

\u6b64\u79cd\u65b9\u6cd5\u7684php\u4ee3\u7801\u6bd4\u8f83\u53e4\u8001\uff0cphp7.2\u4e2d\u62a5\u9519\uff1a<\/p>

Call to undefined function mcrypt_get_block_size<\/p>

\u6b64\u65f6\u8981\u5b89\u88c5mcrypt\u6269\u5c55\uff1a<\/p>

https:\/\/blog.csdn.net\/yhb598712254\/article\/details\/80621473<\/a> <\/p>

http:\/\/pecl.php.net\/package\/mcrypt\/1.0.1<\/a> <\/p>

<\/p>

wget http:\/\/pecl.php.net\/get\/mcrypt-1.0.1.tgz<\/p>

tar zxvf mcrypt-1.1.1.tgz<\/p>

cd mcrypt-1.0.1<\/p>

phpize<\/p>

.\/configure<\/p>

make && make install<\/p>

\u4fee\u6539php.ini<\/p>

\u91cd\u542fphp-fpm<\/p>

<\/p>

\u5982\u679c\u5b89\u88c5mcrypt\u62a5\u9519\uff1a<\/p>

\u7f16\u8bd1\u62a5\u9519:configure: error: mcrypt.h not found. Please reinstall libmcrypt.<\/p>

\u6267\u884c\uff1a<\/p>

yum install -y epel-release<\/p>

yum install -y libmcrypt-devel<\/p>

\u4e24\u4e2a\u4e0d\u80fd\u4e00\u8d77\u5b89\u88c5,\u56e0\u4e3aCentOs6\u9ed8\u8ba4\u7684yum\u6e90\u6ca1\u6709 libmcrypt-devel\u8fd9\u4e2a\u5305,\u53ea\u80fd\u501f\u52a9epel\u7684yum\u6e90,\u6240\u4ee5\u5148\u5b89\u88c5epel,\u518d\u5b89\u88c5libmcrypt\u3002<\/p>

\u6700\u540e\u80fd\u8dd1\u4f46\u8fd8\u662f\u4f1a\u7ed9\u51fa\u63d0\u793a\uff0c\u56e0mcrypt\u6bd4\u8f83\u53e4\u8001\uff0c\u5df2\u5f03\u7528\uff1b<\/p>"}