首页 > 后端开发 > 正文

php示例怎么转java?

2024-10-08 21:57:48 | 我爱编程网

今天我爱编程网小编为大家带来了php示例怎么转java?,希望能帮助到大家,一起来看看吧!

本文目录一览:

php示例怎么转java?

php示例怎么转java?

/**

* 生成签名

* @param string timestamp 时间戳

* @param string appSecret 合作商开发者密钥

* @param string nonce 随机字符串

* @return string

*/

public String makeSignature (String timestamp,String appSecret,String nonce) {

String[] tmpArr = {timestamp, nonce, appSecret};
// 按值升序排序

Arrays.sort(tmpArr)

// 数组拼接为字符串
// 调用md5方法
return signature;

}

其他的都是方法调用, 根据需要编写就行

php示例怎么转java?

怎么把php代码嵌套到javasprict里

以下是php与javaScript两者交互的一个示例:

<?php
function buildJsArray($prefix, $sn, $raw_data) {
$data = unserialize($raw_data);
$out = "{$prefix}[{$sn}] = [";
for ($i = 0; $i < count($data); $i++) {
$out .= "\"{$data[$i]}\", ";
}
$out = substr($out, 0, strlen($out) - 2);
$out .= "];\n";
return $out;
}

$category = array("电子消费品","网络产品","服务器产品");
$length = count($category);
$out = '';
for ($i = 0; $i < $length; $i++) {
$out .= buildJsArray('category', $i, $category[$i]);
}
?>;

<script language="javascript">;
var category = new Array();
<?php echo $out ?>;
</script>;

php示例怎么转java?我爱编程网

求教PHP和JAVA大神 base64_encode(hash_hmac('sha1',$public_key,$private_key,TRUE)); 转 java

我爱编程网(https://www.52biancheng.com)小编还为大家带来求教PHP和JAVA大神 base64_encode(hash_hmac('sha1',$public_key,$private_key,TRUE)); 转 java的相关内容。

如果你的API服务安全认证协议中要求使用hmac_sha1方法对信息进行编码,

而你的服务是由PHP实现的,客户端是由JAVA实现的,那么为了对签名正确比对,就需要在两者之间建立能匹配的编码方式.
efine('ID','123456');
define('KEY','k123456');

$strToSign = "test_string";

$utf8Str = mb_convert_encoding($strToSign, "UTF-8");
$hmac_sha1_str = base64_encode(hash_hmac("sha1", $utf8Str, KEY));
$signature = urlencode($hmac_sha1_str);
print_r($signature);

JAVA侧需要注意如下几点:
1. hmac_sha1编码结果需要转换成hex格式

2. java中base64的实现和php不一致,其中java并不会在字符串末尾填补=号以把字节数补充为8的整数
3. hmac_sha1并非sha1, hmac_sha1是需要共享密钥的

参考实现如下:
[java] view plain copy
import java.io.UnsupportedEncodingException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import org.apache.wicket.util.crypt.Base64UrlSafe;

public class test {
public static void main(String[] args) {
String key = "f85b8b30f73eb2bf5d8063a9224b5e90";
String toHash = "GET"+"\n"+"Thu, 09 Aug 2012 13:33:46 +0000"+"\n"+"/ApiChannel/Report.m";
//String toHashUtf8 = URLEncoder.encode(toHash, "UTF-8");
String res = hmac_sha1(toHash, key);
//System.out.print(res+"\n");

String signature;
try {
signature = new String(Base64UrlSafe.encodeBase64(res.getBytes()),"UTF-8");
signature = appendEqualSign(signature);
System.out.print(signature);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}

public static String hmac_sha1(String value, String key) {
try {
// Get an hmac_sha1 key from the raw key bytes
byte[] keyBytes = key.getBytes();
SecretKeySpec signingKey = new SecretKeySpec(keyBytes, "HmacSHA1");

// Get an hmac_sha1 Mac instance and initialize with the signing key
Mac mac = Mac.getInstance("HmacSHA1");
mac.init(signingKey);

// Compute the hmac on input data bytes
byte[] rawHmac = mac.doFinal(value.getBytes());

// Convert raw bytes to Hex
String hexBytes = byte2hex(rawHmac);
return hexBytes;
} catch (Exception e) {
throw new RuntimeException(e);
}
}

private static String byte2hex(final byte[] b){
String hs="";
String stmp="";
for (int n=0; n<b.length; n++){
stmp=(java.lang.Integer.toHexString(b[n] & 0xFF));
if (stmp.length()==1) hs=hs+"0"+stmp;
else hs=hs+stmp;
}
return hs;
}

private static String appendEqualSign(String s){
int len = s.length();
int appendNum = 8 - (int)(len/8);
for (int n=0; n<appendNum; n++){
s += "%3D";
}
return s;
}
}

参考:

以上就是我爱编程网整理的php示例怎么转java?相关内容,想要了解更多信息,敬请查阅我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php示例怎么转java?”相关推荐
PHP 浮点进制转换(PHP pow例子)
PHP 浮点进制转换(PHP pow例子)

PHP浮点进制转换下面是php实现的方法:/** * 十六进制浮点型转为十进制 * @param String $strHex 十六进制浮点数 */function hexToDecFloat($strHex) {$v = hexdec($strHex);$x = ($v &amp; ((1 &lt;&lt; 23) - 1)) + (1 &lt;&lt; 23) * ($v &gt;&gt

2025-01-10 01:19:05
java调试的时候怎么显示程序
java调试的时候怎么显示程序

java调试的时候怎么显示程序以一个1到100求累加和的小程序为例进行说明。程序代码如图所示,第一步,双击各行左侧对应区域添加断点。根据程序代码,设置预期的端点,设置完毕后如图所示,左侧会出现图标作为标记。在代码窗口任意位置右击鼠标,先选择DebugAs,再选择JavaApplication进入调试界面。调试界面如图所示,点击左上方窗口上的绿色三角箭头按钮开始调试,每点击一

2024-03-29 09:00:47
php怎么跳转页面
php怎么跳转页面

PHP中header用法小结本文实例总结了PHP中header用法。分享给大家供大家参考,具体如下:PHP中header()函数的作用是给客户端发送头信息。什么是头信息?这里只作简单解释,详细的自己看http协议。在HTTP协议中,服务器端的回答(response)内容包括两部分:头信息(header)和体内容,这里的头信息不是HTML中的&lt;head

2024-09-03 15:30:02
php怎么转换成html?
php怎么转换成html?

PHP页面原样显示html代码php中htmlspecialchars函数能把&lt;、&gt;转义成可以在html页面直接显示的形式(&lt;&gt;),比如$str='&lt;ahref="a.html"&gt;aaa&lt;/a&gt;';echohtmlspecialchars($str);就是直接显示代码了。更详细的用法去查阅htmlspecialchars说明,可

2024-11-15 23:11:21
怎么把普通文档(如.doc格式)转变为java格式。
怎么把普通文档(如.doc格式)转变为java格式。

怎么把普通文档(如.doc格式)转变为java格式。直接转不行,你得先转成纯文本的。如果你是在doc里写代码想专程JAVA格式的话。以下几种方式供你参考:把代码复制出来,新建一个记事本,黏贴在记事本里,保存,把后缀名改成.class,然后用JAVA编译器编译。如果你有装Eclipse,就可以直接新建工程,把代码复制进去。然后编译生成.java。没有编译器是不可能把代码转换成可以运

2024-04-18 00:02:18
php中怎么转义html标签
php中怎么转义html标签

PHP页面原样显示html代码php中htmlspecialchars函数能把&lt;、&gt;转义成可以在html页面直接显示的形式(&lt;&gt;),比如$str='&lt;ahref="a.html"&gt;aaa&lt;/a&gt;';echohtmlspecialchars($str);就是直接显示代码了。更详细的用法去查阅htmlspecialchars说明,可

2024-08-21 02:41:26
thinkphp中怎么跳转url
thinkphp中怎么跳转url

thinkphp中怎么跳转url在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的Action类内置了两个跳转方法success和error,用于页面跳转提示,而且可以支持ajax提交。$User=M('User');//实例化User对象$result=$User-&gt;add($data);if($res

2024-12-21 13:56:21
eclipse运行java怎么总显示上一个程序的运
eclipse运行java怎么总显示上一个程序的运

eclipse运行java怎么总显示上一个程序的运可以把其他的应用窗口删掉,只留当下应用所对应的窗口。打开eclipse--&gt;鼠标右键--&gt;RunAs--&gt;RunConfigurations--&gt;JavaApplication--&gt;删除不需要的应用窗口,如图:如何让java程序只运行一次最快的,socket还要用占系统的端口,其实很简单,ja

2024-04-30 03:25:02