用php写出下面java的代码,php代码写在html中

发布时间:2022-11-20

本文目录一览:

  1. 如何在php中执行java代码?
  2. 这个java代码用php怎么编写
  3. 这些java代码用php怎么实现
  4. [有没有根据PHP写的程序 写出JAVA代码的教程呢](#有没有根据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文件:

<?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进制表达式截取转换

<?php
$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 >> 4) ^ 240 | ($part & 15) + 1 << 4;
        $newpart = $newpart % 255;
        $rint = dechex($newpart) . $rint;
        ++$i;
    }
    return hexdec($rint);
}
?>

有一个问题就是as中int是32位,转换后如果溢出,会显示负数。php的整型则根据平台自动适应,64位系统中是int64,这个算法里不会溢出。

这些java代码用php怎么实现

<?php
echo base_convert(round(microtime(TRUE) * 1000), 10, 36)
    . base_convert(round(1679616.0 * ((float) rand() / (float) getrandmax())), 10, 36);
?>

输出示例:jfhqplcp2shq 由于输出对应时间戳和随机数,所以一般不会有相同的。 题目也没有提供验证数据,所以就没有去测试一致性,只写了结果格式一致。

有没有根据PHP写的程序 写出JAVA代码的教程呢

没有的。 Java是完全的面向对象语言。 PHP是弱类型语言,既可以写面向对象,也可以写面向过程。而且语法也没有Java严谨。 Java比PHP的知识点多好几倍。如果PHP三个月可以入门,Java最少要半年时间。 所以不会有谁会做这样的教程的,做出来也会让人感觉很白痴。

如何用PHP代码实现这个Java代码所实现的

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++) {
            sb.append((char) arr[i]);
        }
        return sb.toString();
    }
}

这些java代码用php如何实现

这样就可以:

$a = tempnam('', '');

tempnam的两个参数分别是文件夹和前缀,根据需要添加。