日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

java 解密 php_使用JAVA解密PHP解密

發(fā)布時(shí)間:2025/1/21 php 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 解密 php_使用JAVA解密PHP解密 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

iv;

$str?=?$isBinary???$str?:?utf8_decode($str);

$td?=?mcrypt_module_open('rijndael-128',?'?',?'cbc',?$iv);

mcrypt_generic_init($td,?$this->key,?$iv);

$encrypted?=?mcrypt_generic($td,?$str);

mcrypt_generic_deinit($td);

mcrypt_module_close($td);

return?$isBinary???$encrypted?:?bin2hex($encrypted);

}

function?decrypt($code,?$isBinary?=?false)?{

$code?=?$isBinary???$code?:?$this->hex2bin($code);

$iv?=?$this->iv;

$td?=?mcrypt_module_open('rijndael-128',?'?',?'cbc',?$iv);

mcrypt_generic_init($td,?$this->key,?$iv);

$decrypted?=?mdecrypt_generic($td,?$code);

mcrypt_generic_deinit($td);

mcrypt_module_close($td);

return?$isBinary???trim($decrypted)?:?utf8_encode(trim($decrypted));

}

protected?function?hex2bin($hexdata)?{

$bindata?=?'';

for?($i?=?0;?$i

我的Php類來(lái)加密圖像:encrypt($file,?true);?//true?to?set?is?as?binary

file_put_contents($argv[1],?$encrypted);

serpro JAVA類:import?java.security.NoSuchAlgorithmException;

import?javax.crypto.Cipher;

import?javax.crypto.NoSuchPaddingException;

import?javax.crypto.spec.IvParameterSpec;

import?javax.crypto.spec.SecretKeySpec;

public?class?MCrypt?{

static?char[]?HEX_CHARS?=?{'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};

private?String?iv?=?"fedcba9876543210";//Dummy?iv?(CHANGE?IT!)

private?IvParameterSpec?ivspec;

private?SecretKeySpec?keyspec;

private?Cipher?cipher;

private?String?SecretKey?=?"0123456789abcdef";//Dummy?secretKey?(CHANGE?IT!)

public?MCrypt()

{

ivspec?=?new?IvParameterSpec(iv.getBytes());

keyspec?=?new?SecretKeySpec(SecretKey.getBytes(),?"AES");

try?{

cipher?=?Cipher.getInstance("AES/CBC/NoPadding");

}?catch?(NoSuchAlgorithmException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}?catch?(NoSuchPaddingException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

}

public?byte[]?encrypt(String?text)?throws?Exception

{

if(text?==?null?||?text.length()?==?0)

throw?new?Exception("Empty?string");

byte[]?encrypted?=?null;

try?{

cipher.init(Cipher.ENCRYPT_MODE,?keyspec,?ivspec);

encrypted?=?cipher.doFinal(padString(text).getBytes());

}?catch?(Exception?e)

{

throw?new?Exception("[encrypt]?"?+?e.getMessage());

}

return?encrypted;

}

public?byte[]?decrypt(String?code)?throws?Exception

{

if(code?==?null?||?code.length()?==?0)

throw?new?Exception("Empty?string");

System.out.println("after?if");

byte[]?decrypted?=?null;

try?{

System.out.println("in?try");

cipher.init(Cipher.DECRYPT_MODE,?keyspec,?ivspec);

System.out.println("2");

decrypted?=?cipher.doFinal(hexToBytes(code));

System.out.println("3");

//Remove?trailing?zeroes

if(?decrypted.length?>?0)

{

System.out.println("in?if");

int?trim?=?0;

for(?int?i?=?decrypted.length?-?1;?i?>=?0;?i--?)?if(?decrypted[i]?==?0?)?trim++;

if(?trim?>?0?)

{

byte[]?newArray?=?new?byte[decrypted.length?-?trim];

System.arraycopy(decrypted,?0,?newArray,?0,?decrypted.length?-?trim);

decrypted?=?newArray;

}

}

System.out.println("after?if");

}?catch?(Exception?e)

{

throw?new?Exception("[decrypt]?"?+?e.getMessage());

}

return?decrypted;

}

public?static?String?bytesToHex(byte[]?buf)

{

char[]?chars?=?new?char[2?*?buf.length];

for?(int?i?=?0;?i?>>?4];

chars[2?*?i?+?1]?=?HEX_CHARS[buf[i]?&?0x0F];

}

return?new?String(chars);

}

public?static?byte[]?hexToBytes(String?str)?{

if?(str==null)?{

return?null;

}?else?if?(str.length()

我的Java類:import?java.io.File;

import?java.io.FileInputStream;

import?java.io.FileNotFoundException;

import?java.io.IOException;

public?class?Decrypt?{

public?static?void?main(String[]?args)?{

File?file?=?new?File(args[0]);

FileInputStream?fin?=?null;

try?{

fin?=?new?FileInputStream(file);

byte?fileContent[]?=?new?byte[(int)?file.length()];

fin.read(fileContent);

String?fileToDecrypt?=?new?String(fileContent);

MCrypt?crypter?=?new?MCrypt();

String?decrypted?=?new?String(crypter.decrypt(fileToDecrypt));

System.out.println(decrypted);

}?catch?(FileNotFoundException?e)?{

System.out.println("File?not?found"?+?e);

}?catch?(IOException?ioe)?{

System.out.println("Exception?while?reading?file?"?+?ioe);

}?catch?(Exception?e){

System.out.println("An?exception?occured:?"?+?e);

}?finally?{

try?{

if?(fin?!=?null)?{

fin.close();

}

}?catch?(IOException?ioe)?{

System.out.println("Error?while?closing?stream:?"?+?ioe);

}

}

}

}

總結(jié)

以上是生活随笔為你收集整理的java 解密 php_使用JAVA解密PHP解密的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。