ASP版hmac和md5加密函数,支持中文,带unicode和utf8转码

上传者: haprince | 上传时间: 2019-12-21 19:50:56 | 文件大小: 3KB | 文件类型: rar
上次曾经传过一个易宝、支付宝、财付通、云网等多用MD5加密程序。 易宝是采用hmac的MD5加密,提供的ASP版函数不支持中文,使用dll注册那个兼容又不太好。 上次我发布的加密程序也不支持中文,且支付宝那个加密函数是错误的。 为此我专门研究了三天的hmac方案,当然了我也只是通过改进代码反复测试而已。 先是调用易宝提供的C++版dll,因为我知道它支持中文。我先是把ASP版的密钥key进行unicode处理, 然后用中文密钥与dll版加密结果竟然一致了。当时一高兴,认为处理中文字符肯定是采用unicode的。 结果把密文换成中文一试,又不行了。我又想到按普通字符处理,中文字符再And &HFF,反复试验还是不行。 浪费了两天,也找到了另一个C++版hmac函数源码,没看到有字符编码处理。最后才想到易宝提供的其它源码。 PHP源码还是比较容易看懂的,原来加密的字符text和密钥key都是先转换为UTF-8编码。 这一点与原先那个dll里就可能不一致,把PHP上传到空间一测试,果然密钥使用中文是不一样的。 我也无法知道易宝自己到底使用哪一种方案,先设计一个UTF-8的转码函数吧。 网上找了下,光这些函数都有几十K大小,还是自己设计省事。ASP版的hmac都不支持中文,就是没有转码函数。 VB还有StrConv可以转换unicode,ASP却不能用。其实我们常用的ASP版md5加密,与其它程序的也是不兼容中文。 原因还是ASP转换unicode十分困难,但是支付宝的接口是有这么个函数的,而且代码很简练,我参考它设计了UTF-8编码函数。(支持多国语言的哦) 经过三天的改进,程序从17K精简到了9K,使hmac兼容中文,md5也提供了两个版本,一是ASP简版,二是标准版。 这个标准版是指其它程序都在采用的unicode编码方案,其实ASP简版才是我们最多使用的,但它并不通用。 调用方法:HmacMd5(text,key)-加密内容支持中文,但key最好用非中文的。 md5(text)-简版,ASP_MD5(text)-标准版 支付宝一定要用ASP_MD5,财付通的加密内容一般没中文的,所以两者均可。

文件下载

资源详情

[{"title":"( 2 个子文件 3KB ) ASP版hmac和md5加密函数,支持中文,带unicode和utf8转码","children":[{"title":"md5.asp <span style='color:#111;'> 8.90KB </span>","children":null,"spread":false},{"title":"说明.txt <span style='color:#111;'> 1.58KB </span>","children":null,"spread":false}],"spread":true}]

评论信息

  • hackerboys :
    不错的东西。
    2019-06-25
  • 点速网络 :
    不是很好用,报错
    2017-07-14
  • fw262 :
    还可以吧,不过可以直接用JS的版本
    2016-06-15
  • Aizro :
    不是我想找的``出来的结果始终不能和PHP一致
    2016-03-08
  • oCaiBaoZi :
    测试后可用。谢谢
    2016-01-15

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明