* 生成签名
* @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
}
其他的都是方法调用, 根据需要编写就行
JAVA验签方式转换为PHP代码如下:sig生成方式:
key : aUdqk-BvLwKl
time:当前时间。(long)
num:随机数。(long)
SHA1(key+time+num)
以java为例:
private static String encrypt(String key,long times,long num){
byte[] k = key.getBytes()
byte[] t = getBytesByLong(times)
byte[] n = getBytesByLong(num)
byte[] np = new byte[k.length+t.length+n.length]
int i=0
for(int j=0j<k.lengthj++,i++){
np[i]=k[j]
}
for(int j=0j<t.lengthj++,i++){
np[i]=t[j]
}
for(int j=0j<n.lengthj++,i++){
np[i]=n[j]
}
String sha1 = SHA1Util.getSHA1(np)
return sha1
}
java的风格和php5非常像,如果由JAVA转PHP,那就具有一些语法上的先天优势。比如吧
class a{
public static function test(){
}
}
会不会觉得很像呢?
影响PHP水平主要有算法等基本功,以及对web的了解程度。如果没有用jsp做过网站,可能还需要多多接触前端知识。很多PHP都是很全能的,但是JAVA程序员则了解的相对较少。如果你想学习关于php一类的,可以在有空时在后盾人看看教材视频,慢慢学习时间长不就会了。希望能帮到你