安卓客户端、PHP服务端AES加密解密
2017-01-09 14:29
302 查看
1、安卓客户端AES加密解密
Stringkey =
"1234567820150401";
//安卓客户端代码AES加密
String str =
"abc中国人";
str=Security.encrypt(str,
key);
Log.e(tag,"加密str:"+str);
//安卓客户端代码AES解密
str = Security.decrypt(str,
key);
Log.e(tag,"解密str:"+str);
package tzg.safty;
/**
* 加密解密
* @Title:Safty.java
*@author TZG
*@E-Mail TongZhengGang@126.com
*
String key = "tzglovethe998877";
//安卓客户端代码AES+BASE64加密(先BASE64)
String str = "ABC中国人民zzz他这个哥哥哥哥";
str=Base64.encodeToString(data.getBytes(),Base64.DEFAULT);
str=Security.encrypt(str, key);
Log.e(tag,"str:"+str);
//安卓客户端代码AES+BASE64解密(先AES)
Stringstr="2dHN0fy1D+FwIVR+kVZxe+0y7mGWlnQz/o5UIfERw7qrsLdQlEf0eC8JNjSFdDjQL4L0LQBB2qXlO3jj28W2hg==";
str= Security.decrypt(enToStr2, key);
str= new String(Base64.decode(a.getBytes(), Base64.DEFAULT));
Log.e(tag,"str:"+str);
*/
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import android.util.Base64;
import android.util.Log;
public class Security {
publicstatic String encrypt(String input, String key) {
byte[] crypted = null;
try{
SecretKeySpecskey = new SecretKeySpec(key.getBytes(), "AES");
Ciphercipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE,skey);
crypted= cipher.doFinal(input.getBytes());
}catch (Exception e) {
System.out.println(e.toString());
}
returnnew String(Base64.encodeToString(crypted,Base64.DEFAULT));
}
publicstatic String decrypt(String input, String key) {
byte[]output = null;
try{
SecretKeySpecskey = new SecretKeySpec(key.getBytes(), "AES");
Ciphercipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE,skey);
output= cipher.doFinal(Base64.decode(input,Base64.DEFAULT));
}catch (Exception e) {
System.out.println(e.toString());
}
returnnew String(output);
}
}
2、PHP服务端AES加密解密
<?php
/*public*/
header("content-Type: text/html;charset=Utf-8");
$key = "1234567820150401";
/*加密*/
$input = "abc中国人";
$input = iconv("gb2312","UTF-8",$input);
//$input = base64_encode($input);
$value = Security::encrypt($input, $key);
echo $value;
echo '<br/>';
/*解密*/
$input ="6jSxugvPgIZwHXchUj/QD2yO+C8nUczW88SXNyPKHz3wPK/AGJNVo3ljHOehBFYhSZiQ0ArrKOO1ro8Ww3b/Zl1tGsqLtsoVwThm2fCuqQUWSxrVTmr+A+N0mmn5Aaw1DmPHP1riisHsiInQoGgQqr3+EXkQcVQcnH8o4ubWSnEFWoY+0Lo3gjcpKS4tat4rJ/12EBTFjherP9zVYJASTm4R6pEqpjTVbvWABs62Q67iMBw21ueXTBLQETkvf1/O";
$value = Security::decrypt($input, $key );
//$value = base64_decode($value);
echo urldecode($value);
$json_string=urldecode($value);
$obj=json_decode($json_string);
echo '<br/>';
echo $obj->test;echo '<br/>';
echo $obj->test2;echo '<br/>';
echo $obj->test3;echo '<br/>';
echo $obj->test4;echo '<br/>';
?>
<?php
class Security {
publicstatic function encrypt($input, $key) {
$size= mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$input= Security::pkcs5_pad($input, $size);
$td= mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, '');
$iv= mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td,$key, $iv);
$data= mcrypt_generic($td, $input);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
$data= base64_encode($data);
return$data;
}
privatestatic function pkcs5_pad ($text, $blocksize) {
$pad= $blocksize - (strlen($text) % $blocksize);
return$text . str_repeat(chr($pad), $pad);
}
publicstatic function decrypt($sStr, $sKey) {
$decrypted=mcrypt_decrypt(
MCRYPT_RIJNDAEL_128,
$sKey,
base64_decode($sStr),
MCRYPT_MODE_ECB
);
$dec_s= strlen($decrypted);
$padding= ord($decrypted[$dec_s-1]);
$decrypted= substr($decrypted, 0, -$padding);
return$decrypted;
}
}
?>
Stringkey =
"1234567820150401";
//安卓客户端代码AES加密
String str =
"abc中国人";
str=Security.encrypt(str,
key);
Log.e(tag,"加密str:"+str);
//安卓客户端代码AES解密
str = Security.decrypt(str,
key);
Log.e(tag,"解密str:"+str);
package tzg.safty;
/**
* 加密解密
* @Title:Safty.java
*@author TZG
*@E-Mail TongZhengGang@126.com
*
String key = "tzglovethe998877";
//安卓客户端代码AES+BASE64加密(先BASE64)
String str = "ABC中国人民zzz他这个哥哥哥哥";
str=Base64.encodeToString(data.getBytes(),Base64.DEFAULT);
str=Security.encrypt(str, key);
Log.e(tag,"str:"+str);
//安卓客户端代码AES+BASE64解密(先AES)
Stringstr="2dHN0fy1D+FwIVR+kVZxe+0y7mGWlnQz/o5UIfERw7qrsLdQlEf0eC8JNjSFdDjQL4L0LQBB2qXlO3jj28W2hg==";
str= Security.decrypt(enToStr2, key);
str= new String(Base64.decode(a.getBytes(), Base64.DEFAULT));
Log.e(tag,"str:"+str);
*/
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import android.util.Base64;
import android.util.Log;
public class Security {
publicstatic String encrypt(String input, String key) {
byte[] crypted = null;
try{
SecretKeySpecskey = new SecretKeySpec(key.getBytes(), "AES");
Ciphercipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE,skey);
crypted= cipher.doFinal(input.getBytes());
}catch (Exception e) {
System.out.println(e.toString());
}
returnnew String(Base64.encodeToString(crypted,Base64.DEFAULT));
}
publicstatic String decrypt(String input, String key) {
byte[]output = null;
try{
SecretKeySpecskey = new SecretKeySpec(key.getBytes(), "AES");
Ciphercipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE,skey);
output= cipher.doFinal(Base64.decode(input,Base64.DEFAULT));
}catch (Exception e) {
System.out.println(e.toString());
}
returnnew String(output);
}
}
2、PHP服务端AES加密解密
<?php
/*public*/
header("content-Type: text/html;charset=Utf-8");
$key = "1234567820150401";
/*加密*/
$input = "abc中国人";
$input = iconv("gb2312","UTF-8",$input);
//$input = base64_encode($input);
$value = Security::encrypt($input, $key);
echo $value;
echo '<br/>';
/*解密*/
$input ="6jSxugvPgIZwHXchUj/QD2yO+C8nUczW88SXNyPKHz3wPK/AGJNVo3ljHOehBFYhSZiQ0ArrKOO1ro8Ww3b/Zl1tGsqLtsoVwThm2fCuqQUWSxrVTmr+A+N0mmn5Aaw1DmPHP1riisHsiInQoGgQqr3+EXkQcVQcnH8o4ubWSnEFWoY+0Lo3gjcpKS4tat4rJ/12EBTFjherP9zVYJASTm4R6pEqpjTVbvWABs62Q67iMBw21ueXTBLQETkvf1/O";
$value = Security::decrypt($input, $key );
//$value = base64_decode($value);
echo urldecode($value);
$json_string=urldecode($value);
$obj=json_decode($json_string);
echo '<br/>';
echo $obj->test;echo '<br/>';
echo $obj->test2;echo '<br/>';
echo $obj->test3;echo '<br/>';
echo $obj->test4;echo '<br/>';
?>
<?php
class Security {
publicstatic function encrypt($input, $key) {
$size= mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$input= Security::pkcs5_pad($input, $size);
$td= mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, '');
$iv= mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td,$key, $iv);
$data= mcrypt_generic($td, $input);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
$data= base64_encode($data);
return$data;
}
privatestatic function pkcs5_pad ($text, $blocksize) {
$pad= $blocksize - (strlen($text) % $blocksize);
return$text . str_repeat(chr($pad), $pad);
}
publicstatic function decrypt($sStr, $sKey) {
$decrypted=mcrypt_decrypt(
MCRYPT_RIJNDAEL_128,
$sKey,
base64_decode($sStr),
MCRYPT_MODE_ECB
);
$dec_s= strlen($decrypted);
$padding= ord($decrypted[$dec_s-1]);
$decrypted= substr($decrypted, 0, -$padding);
return$decrypted;
}
}
?>
相关文章推荐
- PHP 服务端 和 APP 客户端 实现 RSA+AES 双向加密解密
- iOS 客户端进行 RSA 加密并在 PHP 服务端进行解密
- JS客户端AES加密,Java服务端解密
- [PHP]AES加密----PHP服务端和Android客户端
- RSA和AES在c#服务端和android客户端之间的加密解密
- 加密解密算法,客户端C++加密,服务端PHP解密
- iOS客户端学习 AES加密和解密
- 客户端使用公钥进行加密,服务端使用密钥进行解密
- Android客户端与PHP服务端RES公钥私钥互加解密
- C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现[转载]
- php aes 加密解密
- Php AES加密、解密与Java互操作的问题
- iOS RSA公钥加密数据 服务端接受PHP私钥解密 反过服务端公钥加密数据 iOS端私钥解密数据
- php AES加密解密的例子
- 客户端JavaScript加密数据,服务端Java解密数据
- [小代码]在Android和PHP之间的加密/解密,AES加密
- JS客户端RSA加密,Java服务端解密
- Php AES加密、解密与Java互操作的问题
- 客户端和php服务器通信rsa加密解密