vfp HMAC-SHA1 加密

o0风箫吟0o 2017-02-06 11:34:43
请高手帮助写一vfp版的HMAC-SHA1 加密函数吧。
...全文
481 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_45808713 2019-10-28
  • 打赏
  • 举报
回复
版主太厉害了,佩服!学习!
十豆三 2017-02-12
  • 打赏
  • 举报
回复
引用 8 楼 bysflcnm 的回复:
[quote=引用 3 楼 dkfdtf 的回复:] 直接用这个:http://download.csdn.net/detail/dkfdtf/9748353 用法: [code=text]Declare String HmacSHA1 in hmac.dll String, String Declare String HmacSHA256 in hmac.dll String, String Declare String HmacMD5 in hmac.dll String, String
dkfdtf版主太厉害了,佩服!学习![/quote]+1
bysflcnm 2017-02-12
  • 打赏
  • 举报
回复
引用 3 楼 dkfdtf 的回复:
直接用这个:http://download.csdn.net/detail/dkfdtf/9748353 用法: [code=text]Declare String HmacSHA1 in hmac.dll String, String Declare String HmacSHA256 in hmac.dll String, String Declare String HmacMD5 in hmac.dll String, String
dkfdtf版主太厉害了,佩服!学习!
o0风箫吟0o 2017-02-12
  • 打赏
  • 举报
回复
引用 7 楼 dkfdtf 的回复:
PHP 函数不熟悉,我只能从参数名的字面含义来猜测,试试: ? Strconv(HmacSHA1(data, key), 16) 你也可以把 vfp 和 php 的计算结果分别写入文件来比较 StrToFile(Strconv(HmacSHA1(data, key),16), 'c:\vfp.bin')
感谢都市夜猫版主,我按照您的方法,成功了! Strconv(HmacSHA1(data, key), 16)能得到PHP中hash_hmac()函数最后一个参数为True的结果。 由于我近几天外出了一趟,未能及时回复并向版主表示感谢,深感抱歉。向论坛里坚守VFP并热心解答新手疑惑的版主和技术大牛致敬!!
o0风箫吟0o 2017-02-08
  • 打赏
  • 举报
回复
版主: 您发给我的dll加密的结果与在线加密网站的加密结果是一致的。但我还有一问:
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的结果呢? 或者说还需要进行怎样的转换呢?
都市夜猫 2017-02-08
  • 打赏
  • 举报
回复
PHP 函数不熟悉,我只能从参数名的字面含义来猜测,试试:
? Strconv(HmacSHA1(data, key), 16)

你也可以把 vfp 和 php 的计算结果分别写入文件来比较
StrToFile(Strconv(HmacSHA1(data, key),16), 'c:\vfp.bin')
o0风箫吟0o 2017-02-07
  • 打赏
  • 举报
回复
再次感谢都市夜猫大侠多次出手相助。
都市夜猫 2017-02-07
  • 打赏
  • 举报
回复
直接用这个:http://download.csdn.net/detail/dkfdtf/9748353

用法:
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)
*-- 结果:


在线验证网址:http://tool.oschina.net/encrypt?type=2
o0风箫吟0o 2017-02-07
  • 打赏
  • 举报
回复
这是HMAC-SHA1算法的C++实现 http://download.csdn.net/download/lwldaniel/5724551
都市夜猫 2017-02-06
  • 打赏
  • 举报
回复
如果只要结果的话,网上大把可用的 dll 函数库,直接使用就可以,vfp 不适宜做这种运算,速度难以接受

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧