導航:首頁 > 編程語言 > javaaesphp

javaaesphp

發布時間:2023-05-17 18:35:05

java aes加密 如何用php 進行解密,以下是java代碼,求php 代碼如何寫 (主要是createkey 那個方法)

先看用什麼方式的加密,拿AES來說,你需要問java要到混淆值、初始化向量與AES加密的方式如AES-192-CFB.然後直接調用openssl_decrypt方法進行解密.

openssl_decrypt('需要解密的字元串','AES-192-CFB','混淆值',0,'初始化向量'),true)

⑵ Java Aes 類,可否用 php 實現,求助於懂 Java 代碼的 php 程序猿

Java Aes 類,用 php 實現方法:
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;

public class AESSecurityUtil {

private static final String AES ="AES";
private static final String CHARSET_NAME ="utf-8";

private static SecretKeySpec getKey(String password) throws NoSuchAlgorithmException{

KeyGenerator kgen = KeyGenerator.getInstance(AES);
SecureRandom random=SecureRandom.getInstance("SHA1PRNG");
random.setSeed(password.getBytes());
kgen.init(128, random);

SecretKey secretKey = kgen.generateKey();
byte[] enCodeFormat = secretKey.getEncoded();
SecretKeySpec key = new SecretKeySpec(enCodeFormat, AES);
return key;
}

public static String encode(String str, String password)
{
byte[] arr = encodeToArr(str, password);
return byteArrToString(arr);
}

private static byte[] encodeToArr(String str, String password)
{
try
{
Cipher cipher = Cipher.getInstance(AES);
byte[] byteContent = str.getBytes(CHARSET_NAME);

cipher.init(Cipher.ENCRYPT_MODE, getKey(password));
byte[] result = cipher.doFinal(byteContent);
return result;
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}

public static String decode(String hexStr, String password){
byte[] arr = string2ByteArr(hexStr);
return decode(arr, password);
}

private static String decode(byte[] arr, String password) {
try{

Cipher cipher = Cipher.getInstance(AES);
cipher.init(Cipher.DECRYPT_MODE, getKey(password));

byte[] result = cipher.doFinal(arr);
return new String(result, CHARSET_NAME);
}catch (Exception e){
e.printStackTrace();
}
return null;
}

private static String byteArrToString(byte[] arr) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i <arr.length; i++) {
String s = Integer.toString(arr[i] + 128, 16);
if (s.length() == 1){
s ="0"+ s;
}
sb.append(s);
}

return sb.toString().toUpperCase();
}

⑶ 你認為PHP和Java相比哪個更好為什麼

Java與PHP從難易程度上來說,PHP要更容易掌握一些。對於基礎比較薄弱的人來說,選擇學習檔配PHP更好一些,原因有以下幾點:

第一:PHP在語法結構上更靈活一些。在語法結構上PHP還是具備優勢的,因為PHP是腳本式語言,所以從變數定義到函行咐指數調用都比Java要靈活的多,這一點對初學者來說還是非常重要的,因為學習PHP思路會比較清晰,PHP是典型的流程式思維,或者說不需要「抽象」。Java程序員在學習的初期還是有一定難度的,這個難度就是需要一個抽象的過程。可以通過一個例子做一個簡單的對比,先看一下PHP的代碼:

再看一下同樣功能的Java代碼:

雖然PHP是嵌入在HTML頁面中執行的,而對比的Java則是單獨簡敏運行在JVM中,但是通過代碼的對比我們可以看出,PHP更簡潔,也更容易理解。

第二:PHP內容少易上手。PHP不僅語法結構靈活,PHP的內容也比較少,經過短暫的學習之後就可以上手操作了。而學習Java則需要一個漫長的過程,需要學習一堆相關的技術(各種標准、各種框架)才能上手操作,相對於PHP來說,Java就顯得比較重了。很多Java程序員經常調侃式的說,Java的准備工作(打包、寫介面、抽象)還沒做完,PHP程序員的代碼已經寫完了。

第三:PHP更專注。相比於PHP主要做Web開發,Java則面臨更多的開發領域,比如Web開發、移動互聯開發、大數據開發等等場景,對於初學者來說,更多的應用場景往往會無所適從。Web開發場景下PHP占據著明顯的優勢,更多的互聯網平台選擇使用PHP來構建,而Java則更多的從事後端服務的開發。

從就業情況來看,PHP和Java的崗位需求都比較多,都是目前比較不錯的選擇。

⑷ php AES加密問題:見附件,和對方加密結果不一致,對方用的java

少一個向量參數吧?

⑸ 如何把以下 java AES-128-CBC 加密方法改為 php 的實現

$key = hash('春仔md5', $key, true);

$iv = '殲卜0000000000000000'扒改汪;

$size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$input = Security::pkcs5_pad($input, $size);

$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $input, MCRYPT_MODE_CBC, $iv);

// output wd/OTHoIXwgHGDHcj8OTgg==
echo base64_encode($encrypted);

⑹ java加密用PHP解密

先看用什麼方式的加密,拿AES來說,你需要問java要到混淆值、初始化向量與AES加密的方式如AES-192-CFB.然後直接調用openssl_decrypt方法進行解密.

openssl_decrypt('需要解密的字元串','AES-192-CFB','混淆值',0,'初始化向量'),true)

⑺ PHP和Java有什麼區別

現在社會上轉行學軟體開發的同學很多,但是開發的方向很多不明確,到底是PHP開發好還是Java開發比較好呢?就業前景怎麼樣?難度大不大?今天北京北大青鳥從專業的角度上幫大家分析兩個方向的具體區別,因為篇幅有凳談限,本文主要是比較PHP和JSP這兩個Web開發技術,在目前的情況是其實是比較PHP和Java的Web開發。以下是北京UI設計php培訓金牌講師整理幾個主要方面進行的比較:


一、語言比較

PHP是解釋執行的伺服器腳本語言,首先php有簡單容易上手的特點。語法和c語言比較象,所以學過c語言的程序員可以很快的熟悉php的開發。而java需要先學好java的語法和熟悉一些核心的類庫,猛裂懂得面向對象的程序設計方法。所以java不如php好學。Java首先要編譯成位元組碼.class文件,然後在java虛擬機上解釋執行。Java的Web開發首先最容易想到的就是JSP(現在已經到JSP2.0),原來的java的Web開發都是用servlet來實現的,用servlet來開發需要程序員在java的源文件中嵌入大量的html代碼。所以後來就出現了JSP,JSP可以方便的嵌入到html文件當中,其實jsp文件在伺服器上執行的時候首先會被應用伺服器轉換成servlet,然後再編譯執行。Jsp可以通過servlet和JavaBean的支持產生強大的功能。JavaBean是一種可復用的、跨平台的軟體組件。使用javabean可以方便的實現java代碼和html的分離,能夠增強系統的功能和軟體的復用性。Java的Web開發屬於SUN公司定義的J2EE其中的規范。而且在J2EE中包括了java的Web開發的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就特別適合於做大型的企業級的應用。

二、資料庫訪問比較

Java通過JDBC來訪問資料庫,通過不同的資料庫廠商提供的資料庫驅動方便地訪問資料庫。訪問資料庫的介面比較統一。

PHP對於不同的數枝粗閉據庫採用不同的資料庫訪問介面,所以資料庫訪問代碼的通用性不強。例如:用Java開發的Web應用從MySQL資料庫轉到Oracle資料庫只需要做很少的修改。而PHP則需要做大量的修改工作。

三、系統設計架構比較

採用Java的Web開發技術,需要使用的是面向對象的系統設計方法,而PHP還是採用面向過程的開發方法。所以用Java進行開發前期需要做大量的系統分析和設計的工作。

四、跨平台性

Java和PHP都有很好的跨平台的特性。幾乎都可以在不作任何修改的情況下運行在Linux或者Windows等不同的操作系統上。

五、開發成本比較

PHP最經典的組合就是:PHP+MySQL+Apache。非常適合開發中小型的Web應用,開發的速度比較快。而且所有的軟體都是開源免費的,可以減少投入。

Java的Web應用伺服器有免費Tomcat、JBoss等,如果需要更好的商業化的服務有:WebSphere和Weblogic。


⑻ PHP和JAVA比較有哪些優勢

選擇java還是選擇PHP?學習java還是學習PHP?java好還是PHP好?java強大還是PHP強大?語言的紛爭一直沒有停歇過,我並想參與紛爭,我只想從各個角度和我知道的實際情況,對二者做個全面剖析。希望對即將入行的朋友一點參考。

1、java和php技術層面對比:

java是純面向對象開發,功能強大,分支眾多,沒有java不能做的軟體。C/S也好B/S也好。從功能上講,沒有語言可以和java相比。但其優勢也是其劣勢,具體參考第6點。
PHP屬於後起之秀,吸收了java和c以及perl等語言優點,專注互聯網領域。WEB領域PHP擁有得天獨厚的優勢,WEB領域沒有語言可以和他比。
兩者相比,基本上java完勝。但是其實並沒有太大的可比性,專注領域不同。單純拿兩者都可以做的WEB來說,PHP完勝。

2、java和php市場份額對比:

java語言算是古老,多年的發展,其在C/S領域和B/S領域都佔有一席之地,特別是在電信和銀行行業。但隨著社會需求的變化和其他語言的專注,java的市場正被一點點蠶食,WEB領域幾乎被PHP一統天下,嵌入式領域幾乎被C++一統天下,客戶端領域幾乎被C語言一統天下,要不是安卓的出現,java的命運還真不好說了。其之前積累的巨大java帝國不會一下子崩塌,一定是有一個過程。所以現在學習並不需要擔心其前途,現在學習你更需要擔心的卻是近十年間英才輩出的javaer,和大批正在進入java陣營的同業者。
PHP在市場描述就比較簡單了,因為我們只要看一個領域,那就是web領域。WEB領域php的市場超過80%,其餘的則是如java-JSP,asp,C#,.NET,python,ruby等。網站500強中有395家使用PHP。全球最大的兩個網站facebook和新浪微博全在使用PHP。
兩者相比,算平分秋色。

3、java和PHP的發展空間對比
安卓勢頭很猛,但手機安裝app數量有限,推廣難,也是app面臨的最大挑戰,好在安卓只有JAVA可以做,除此之外就是HTML5了。
中國人口佔全球人口19.7%,中國網民佔全球網民22.4%,中國網站數量佔全球網站數量的0.5%,網站的可發展空間可謂巨大;發達國家互聯網對GDP的貢獻可達20%,中國互聯網對GDP的影響僅為3%。可謂互聯網的發展空間巨大,而互聯網離不開WEB,WEB離不開PHP。
兩者相比,個人覺得PHP的優勢更加明顯。

4、java和PHP的薪資對比
薪資事由供求關系決定的,人才缺失,薪資自然高,人才飽和,薪資自然不會高。
java由於大學基本都有這個課程,很多人想從事軟體行業的時候,自然就學習JAVA了,加上java近10年的火爆,人才輩出,整個java行業是處於供大於求的。南京地區:一個30人的java培訓班,最後差不多10人找不到理想的工作而轉行,最低薪資甚至只有1000多元,就有人肯干。當然java學的好的,薪資4000多也是不少的。
PHP完全依託於市場的驅動,難點在於很多人並不了解PHP,也沒途徑可以了解,根本原因是大學沒有這個課程,我知道的,南京百十所高校只有曉庄學院開了PHP課程,而且不是作為主修。市場對PHP的需求,高校並不清楚,高校更願意推符合學院派特點的java。
學習php的人少,企業需求多,導致PHP薪資遠遠超過了同行業者。一般起薪沒有低於3000元的。南京地區高的早已經突破4500元。北上廣更是突破了6000元的起薪。
兩者相比:除了java工作難找,但只要找到了工作,高位線是差不多的,低位線JAVA明顯處於劣勢。

5、java和php的薪資漲幅速度對比:
java是公認的難,難上手,真正上手需要至少1-2年,而這期間都屬於學徒級別,薪資漲幅有限。2年後會有一個較大的漲幅,基本拿個6-7千是沒有問題的。
PHP是公認的簡單,上手極快,基本過了試用期就可以漲工資了,PHPer正常是半年漲一次薪資,前3年的幅度都還可以,1年5-6千,2年7-8千。3年能過萬的也大有人在。
兩者相比:其實php的前端優勢明顯,後段雙方區域持平。並不像很多人說的PHP後面難漲,PHP缺人,但更缺熟手。java也不像很多人吹噓的那樣高薪,兩級分化嚴重。其實也很正常,越難的語言,兩級分化越是嚴重。

6、java和php各自發展的瓶頸:

JavaEE體系曾經統治企業級軟體開發長達數十年之久,十年間英才輩出,但是Java語言本身卻越來越顯示出臃腫和分裂的態勢。使用Java是個昂貴的選擇,復雜的需求設計, 緩慢的項目進度,昂貴的應用伺服器和維護難度使Java成為了一種廟堂之上的語言。而版本的分裂也使所謂的跨平台特性成為了一句空話。Java的特性使得它並不適合業務隨著市場快速變化的互聯網企業,WEB領域幾乎被PHP一統天下,嵌入式領域幾乎被C++一統天下,客戶端領域幾乎被C語言一統天下,要不是安卓的出現,java的命運還真不好說了。php的大中型系統開發,方便、快速、是java跟asp.net沒法比擬的, 還有php有很多如yaf,yii,ci等強大的框架, 中小型一般系統的開發,一個thinkphp就足於通殺java的ssh三大框架了。
PHP由於其簡單,快速開發等特點,也導致了開發復雜應用稍顯吃力,所謂成也蕭何敗也蕭何,PHP由於其關注應用層面,開發基本不需要考慮底層的東西,導致其開發快速,學習簡單;但也導致了學習PHP工作一段時間比較容易遇到瓶頸,PHP在5.3版本後加入了更為強大的擴展,通過PHP的擴展可以實現PHP本身實現不了的功能。所以PHP開發遇到了這樣瓶頸,可以考慮通過擴展來解決,facebook和weibo.com正在大量使用擴展功能去應對一個又一個的難題。新浪微博架構師兼首席PHP技術顧問惠新宸一直在專注與PHP底層原理的研究和分享。擴展是被他認為PHP最偉大的地方。

7、java和PHP的崗位數對比:
一下數據出自2014年9月初的網路統計:
2014年9月初,全國java招聘崗位數為82703個。

全國java招聘崗位數

2014年9月初,全國PHP招聘崗位數為47263個。

全國PHP招聘崗位數

java的崗位數差不多是PHP崗位數的2倍不到。但值得深思的是,java的人才數量是PHP人才數量的100倍還不止。

8、java和PHP的學習成本對比:
java學習,是公認的難。難以上手,難以理解。自學時間成本是12個月,自學成功率不到10%,培訓時間成本也近6個月。培訓費用平均成本大致為15000元左右。成為熟手的時間成本為2年。成為高手的時間成本一般為5年以上。
PHP學習,是公認為最簡單的語言。解釋性語言,無需編譯。自學時間成本是6個月,自學成功率20%,培訓時間成本3個月。培訓費用平均成本8000元左右。成為熟手的時間成本為1年。成為高手的時間成本一般為3年以上。
兩者相比,java的學校成本要明顯高於PHP。

總結一下:java和PHP各有各的優勢,說到明天早上也不一定說的完,我想說的是學習哪一個,都是OK的。
想學java就從事安卓行業,想從事WEB領域,就學習PHP。
由於java的學習難度,沒有基礎或者基礎不好的同學還是謹慎選擇,對於零基礎的同學還是PHP可能更加適合一點。

⑼ php AES加密對不上java的加密,請問如何實現

要注意特定的Padding實現跟演算法的blockSize有關,這里php的blocksize是在php的aes加密前先對源字元串進行Padding,問題得到解決。

⑽ PHP跟Java有什麼區別

一、技術區別
java是純面向對象開發,功能強大,分支眾多,沒有java不能做的軟體。C/S也好B/S也好。從功能上講,沒有語言可以和java相比。但其優勢也是其劣勢。
PHP吸收了java和c以及perl等語言優點,專注互聯網領域。在WEB領域中PHP擁有得天獨厚的優勢,WEB領域沒有語言可以和PHP相比。
二、資料庫訪問區別
Java通過JDBC來訪問資料庫,通過不同的資料庫廠商提供的資料庫驅動方便地訪問資料庫。訪問資料庫的介面比較統一。
PHP對於不同的資料庫採用不同的資料庫訪問介面,所以資料庫訪問代碼的通用性不強。例如:用Java開發的Web應用從MySQL資料庫轉到Oracle資料庫只需要做很少的修改。而PHP則需要做大量的修改工作。
三、安全性區別
在同是開源和跨平台的java面前,php丟掉了很多的優勢,在代碼的安全性上尤為突出。
php的開發程序在別人拿到代碼後,可以很容易地進行修改。而java開發的程序由於無法看到完整的源代碼,只能看到一些編譯好的類文件,所以安全性較高。
四、開發成本比較
PHP在互聯網應用諸多方面都強於Java,那麼Java開發出的電子商務產品何以與PHP產品競爭呢?這在於Java陣營普遍走的是政府路線,
而PHP陣營走的是全民路線。Java在互聯網方面靠的是大學老師的言傳身教,才得以在互聯網世界狺狺狂嘯,而PHP是靠得是自身品質而得民心,所以才一路贊歌。
軟體價格的高低很大程度上和自身成本和功能相掛鉤。PHP的入門門檻較低,但是任何方面成為高手,都是萬里挑一。絕大多數學過c的程序員都很容易轉型為PHP程序員,這使得PHP程序員如同國球一樣普及,同樣更是高手如雲,高質量的PHP軟體產品也層出不窮。
伺服器成本方面,PHP最經典的組合PHP+ MySQL + Apache,Java也是經常與MySQL +
Tomcat、JBoss等軟體配合。所有軟體都是開源免費的,所以伺服器端的投入都並不高。
而Java程序員的學習成
本卻是PHP成本的幾倍,原因也很晴朗,本身Java就不是專門給WEB開發用的。所以,Java開發電子商務的成本要遠遠高於PHP開發出來的同類軟體
產品。但也正由於Java開發的成本較高,所以往往也是做一個同樣的產品,達到同樣的效果,Java需要付出比PHP開發多出N倍的時間及經濟成本。直接地造成了巨大的時間及成本浪費。

閱讀全文

與javaaesphp相關的資料

熱點內容
貿易pdf 瀏覽:495
dbug命令 瀏覽:351
開逛app如何加好友 瀏覽:958
ftpdos命令下載文件 瀏覽:75
華為如何打開語音伺服器 瀏覽:242
python中的idle 瀏覽:1000
五軸聯動數控編程 瀏覽:965
換一台電腦如何遠程雲伺服器 瀏覽:132
阿里雲怎麼買雲伺服器 瀏覽:664
java提取文字 瀏覽:97
阿里雲伺服器同人賬號問題 瀏覽:420
5分鍾解壓軸題 瀏覽:341
安卓桌面二級文件夾 瀏覽:188
eps文檔加密 瀏覽:261
手機怎麼做pdf 瀏覽:162
ug曲面pdf 瀏覽:279
液化氣還是壓縮氣 瀏覽:950
阿里雲公共ntp伺服器地址 瀏覽:991
金字塔學習機編程 瀏覽:684
多邊形掃描線演算法Python 瀏覽:718