2,722
社区成员
发帖
与我相关
我的任务
分享
string hash_hmac(string $algo, string $data, string $key[, bool $raw_output = false])
PHP的hash_hmac()函数最后一个参数说明如下:
-----------------------------------------------------------------------------------------------------------------------------------------------------
参数:
algo:要使用的哈希算法名称,例如:"md5","sha256","haval160,4" 等。
data:要进行哈希运算的消息。
key:使用 HMAC 生成信息摘要时所使用的密钥。
raw_output:设置为 TRUE 输出原始二进制数据, 设置为 FALSE 输出小写 16 进制字符串。
返回值:
如果 raw_output 设置为 TRUE, 则返回原始二进制数据表示的信息摘要,否则返回 16 进制小写字符串格式表示的信息摘要。
如果 algo 参数指定的不是受支持的算法,返回 FALSE。
-----------------------------------------------------------------------------------------------------------------------------------------------------
用您发给我的dll中的HmacSHA1(cData, cKey)函数进行加密,在VFP9中得到的加密结果,相当于PHP函数hash_hmac()最后一个参数为False时的结果。
怎么才能用dll中的HmacSHA1(cData, cKey)函数得到PHP中hash_hmac()函数最后一个参数为True的结果呢?
或者说还需要进行怎样的转换呢?
Declare String HmacSHA1 in hmac.dll String, String
Declare String HmacSHA256 in hmac.dll String, String
Declare String HmacMD5 in hmac.dll String, String
cData = '12345678'
cKey = 'csdn+vfp'
? HmacSHA1(cData, cKey)
*-- 结果:21b379f7637e2d216f6941d30308a674cd32bf46
? HmacSHA256(cData, cKey)
*-- 结果:925a0b23df4dd1eae9bcc5aafce4aff229254e090fc2ff3b55dba4688fcea67e
? HmacMD5(cData, cKey)
*-- 结果:dbe753a6ae60db6d4f6ae40ad588cfd4
? HmacSHA1(FileToStr(GetFile()), cKey)
*-- 结果: