本文目錄一覽:
- 1、如何在php中執行java代碼?
- 2、這個java代碼用php怎麼編寫
- 3、這些java代碼用php怎麼實現
- 4、有沒有根據PHP寫的程序 寫出JAVA代碼的教程呢
- 5、如何用PHP代碼實現這個Java代碼所實現的
- 6、這些java代碼用php如何實現
如何在php中執行java代碼?
windows下的安裝
第一步:安裝JDK,這是非常容易的,你只需一路回車的安裝好。然後做好以下步驟。
在 Win9x 下加入 :「PATH=%PATH%;C:\jdk1.2.2\bin」 到AUTOEXEC.BAT文件中
在 NT /Win2000下加入 「;C:\jdk1.2.2\bin」到環境變數中。
這一步是非常重要的,這樣PHP才能正確的找到需調用的JAVA類。
第二步:修改你的PHP.INI文件。
[java]
extension=php_java.dll
java.library.path=c:\web\php4\extensions\
java.class.path=”c:\web\php4\extensions\jdk1.2.2\php_java.jar;c:\myclasses”
在PHP.INI中加入extension=php_java.dll
並在[java]中,設定好java.class.path,讓它指向php_java.jar,如果你使用新的JAVA類,你也應該存入這個路徑,在這篇例子中,我們使用c:\myclasses這個目錄。
第三步:測試環境,創建如下PHP文件:
?
$system = new Java(“java.lang.System”);
print “Java version=”.$system-getProperty(“java.version”).”\n”;
print “Java vendor=”.$system-getProperty(“java.vendor”).”\n\n”;
print “OS=”.$system-getProperty(“os.name”).” “.
$system-getProperty(“os.version”).” on “.
$system-getProperty(“os.arch”).”\n”;
$formatter = new Java(“java.text.SimpleDateFormat”,”EEEE,
MMMM dd, yyyy ‘at’ h:mm:ss a zzzz”);
print $formatter-format(new Java(“java.util.Date”)).”\n”;
?
這個java代碼用php怎麼編寫
你這段代碼是actionscript。代碼功能是利用位元組碼將時間轉換(可能是出於加密目的)
php中沒有byteArray,可以利用16進位表達式截取轉換
$time=time();
echo $time,”\n”;
echo transformInt($time);
function transformInt($arg1)
{
//將數字轉換成16進位 time的16進位有 8位長度
$bint=dechex($arg1);
$rint = ”;
$i=0;
while ($i 4)
{
$part=hexdec(substr($bint,$i*2,2));
$newpart = $part 240 ^ 240 | ($part 15)+ 1 15;
$newpart = $newpart % 255;
$rint = dechex($newpart).$rint;
++$i;
}
return hexdec($rint);
}
有一個問題 就是as中int是32位,轉換後如果溢出,會顯示負數。php的整型則根據平台自動適應,64位系統中是int64,這個演算法里不會溢出。
這些java代碼用php怎麼實現
?php
//$a = (Long.toString(l, 36) + Long.toString(()(1679616.0D * Math.random()), 36));
echo base_convert(round(microtime(TRUE)*1000),10,36)
.base_convert(round(1679616.0*((float)rand()/(float)getrandmax())),10,36);
jfhqplcp2shq
由於輸出對應時間戳和隨機數,所以一般不會有相同的,
題目也沒有提供驗證數據。wo就沒有去測試一致性..只寫了結果格式一致
有沒有根據PHP寫的程序 寫出JAVA代碼的教程呢
沒有的。
Java是完全的面向對象語言。
PHP是弱類型語言,是又可以寫面向對象,有可以寫面向過程。而且語法也沒有java嚴謹。
JAVA比PHP的知識點多好幾倍。如果PHP三個月可以入門,JAVA最少要半年時間。
所以不會有誰會做這樣的教程的,做出來也會讓人感覺很白痴。
如何用PHP代碼實現這個Java代碼所實現的
JavaAes類,用php實現方法:importjava.security.NoSuchAlgorithmException;importjava.security.SecureRandom;importjavax.crypto.Cipher;importjavax.crypto.KeyGenerator;importjavax.crypto.SecretKey;importjavax.crypto.spec.SecretKeySpec;publicclassAESSecurityUtil{privatestaticfinalStringAES=”AES”;privatestaticfinalStringCHARSET_NAME=”utf-8″;privatestaticSecretKeySpecgetKey(Stringpassword)throwsNoSuchAlgorithmException{KeyGeneratorkgen=KeyGenerator.getInstance(AES);SecureRandomrandom=SecureRandom.getInstance(“SHA1PRNG”);random.setSeed(password.getBytes());kgen.init(128,random);SecretKeysecretKey=kgen.generateKey();byte[]enCodeFormat=secretKey.getEncoded();SecretKeySpeckey=newSecretKeySpec(enCodeFormat,AES);returnkey;}publicstaticStringencode(Stringstr,Stringpassword){byte[]arr=encodeToArr(str,password);returnbyteArrToString(arr);}privatestaticbyte[]encodeToArr(Stringstr,Stringpassword){try{Ciphercipher=Cipher.getInstance(AES);byte[]byteContent=str.getBytes(CHARSET_NAME);cipher.init(Cipher.ENCRYPT_MODE,getKey(password));byte[]result=cipher.doFinal(byteContent);returnresult;}catch(Exceptione){e.printStackTrace();}returnnull;}publicstaticStringdecode(StringhexStr,Stringpassword){byte[]arr=string2ByteArr(hexStr);returndecode(arr,password);}privatestaticStringdecode(byte[]arr,Stringpassword){try{Ciphercipher=Cipher.getInstance(AES);cipher.init(Cipher.DECRYPT_MODE,getKey(password));byte[]result=cipher.doFinal(arr);returnnewString(result,CHARSET_NAME);}catch(Exceptione){e.printStackTrace();}returnnull;}privatestaticStringbyteArrToString(byte[]arr){StringBuffersb=newStringBuffer();for(inti=0;i
這些java代碼用php如何實現
這樣就可以:
$a=tempnam(”,”);
tempnam的兩個參數分別是文件夾和前綴,根據需要添加。
原創文章,作者:HJUP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/132347.html