数字签名
有没有懂java的小伙伴,能帮我看看这个签名用php咋写吗
publicstaticbyte[] encryptMD5(byte[] data) throwsNoSuchAlgorithmException {
MessageDigest md5 = MessageDigest.getInstance(KEY_MD5);
md5.update(data);
return md5.digest();
}
publicstatic String encryptBASE64(byte[] key) throws Exception {
return (new BASE64Encoder()).encodeBuffer(key);
}
还有这个示例,我怎么试都得不到FXqyPkRNTfmIl6be83UqNg==这个内容
假设签名字段的内容为:“RI696080980CN,81696083345,88169608101”,
密钥为 123456
◆ 那么要签名的内容为“RI696080980CN,81696083345,88169608101123456”
(默认 UTF-8 编码,不包括双引号),经过 md5 和 base64 后的内容就
为 FXqyPkRNTfmIl6be83UqNg==,URL 编码后为:
FXqyPkRNTfmIl6be83UqNg%3d%3d
$data = "RI696080980CN,81696083345,88169608101";
$key = "123456";
$signData = $data.$key;
$sign = base64_encode(md5($signData, true));
echo $sign;
$signUrlEncode = urlencode($sign);
echo $signUrlEncode;