V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dapeng
V2EX  ›  程序员

关于 PHP RFC2104 HMAC SHA1 加密的问题,求遇到过的大神解答 ?

  •  
  •   dapeng · 2017-04-17 17:48:40 +08:00 · 2015 次点击
    这是一个创建于 2776 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司和法国一家银行做在线支付对接,对方的平台是 .net, 我这边是 php ,技术人员沟通对接的可能性比较小;

    提交 form 表单时需要进行 RFC2104 规则的 HMAC 加密校验,可是我这边加密后的字符串 和对方一直对不上,不知道有没有做过 RFC2104 加密规则的大神,帮忙看下,谢谢

    <?php
    
    $str = '6321857*17/04/2017:11:39:39*62.73EUR*an2017041712*pay test*3.0*EN*ansel*[email protected]**********';
    
    $key = '82C153B8EF860BF0386AB3F3C730ECA0C5B5EEP2';
    
    echo  hash_hmac('sha1',$str,$key);
    
    

    我这边输出加密后的值为 : 7dc7b51f6a12567cf22017d7f0e3ee1dba066058

    对方返回的错误是 :

    The value of the seal is computed from a secret key and from the string : 
    
    6321857*17/04/2017:11:39:39*62.73EUR*an2017041712*pay test*3.0*EN*ansel*[email protected]**********
    
    The first six and the last six characters of the expected control MAC value are : 
    
    71FC1D****************************C81CB1
    

    我的环境为 PHP7

    4 条回复    2017-04-17 18:00:07 +08:00
    torbrowserbridge
        1
    torbrowserbridge  
       2017-04-17 17:52:12 +08:00
    编码问题考虑了吗?
    shoaly
        2
    shoaly  
       2017-04-17 17:58:13 +08:00
    让对方提供一个他们 加密前和 加密后的字符串
    然后本地先无论是 加密->解密 还是字符串加密 都匹配上 再来联调
    dapeng
        3
    dapeng  
    OP
       2017-04-17 17:58:43 +08:00
    @torbrowserbridge ,加密时的编码 ? 文件编码是 utf8
    dapeng
        4
    dapeng  
    OP
       2017-04-17 18:00:07 +08:00
    @shoaly ,是的,,实在不行就让业务这样去和他们联系;
    对吧的文档时间 是 2006 年,那时 php5.3 还没出来吧!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2765 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:47 · PVG 21:47 · LAX 05:47 · JFK 08:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.