第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

OpenSSL::HMAC.hexdigest PHP 等價(jià)物不會(huì)打印與 ruby?? one

OpenSSL::HMAC.hexdigest PHP 等價(jià)物不會(huì)打印與 ruby?? one

PHP
吃雞游戲 2022-07-22 18:39:35
這是我需要轉(zhuǎn)換為 PHP 的 ruby 代碼:print OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new("sha1"), 'hello', Base64.encode64('bonjour'))輸出 :62ac34e5d28563d6a50272d660805d1f8c791e41這是我的 PHP 代碼:echo hash_hmac('sha1', base64_encode('bonjour'), 'hello');輸出 :89ebf8bd3d92bf3283aa4c5f24072820258367e4我找不到辦法62ac34...。我也試過:echo hash_hmac('sha1', 'bonjour', 'hello'); // 1echo hash_hmac('sha1', 'hello', 'bonjour'); // 2echo hash_hmac('sha1', base64_encode('hello'), 'bonjour'); // 3echo hash_hmac('sha1', 'hello', base64_encode('bonjour')); // 4echo base64_encode(hash_hmac('sha1', 'hello', 'bonjour', TRUE)); //5這也是錯(cuò)誤的。輸出 :bed443484cc49c41c053a11dd15e44d4f79c524f // 116923f8d6e9afd345cf947fc963cad73aa12b76c // 28e5989976296c76f0462fe33c6bc2dec48bdcb5a // 3ca237e79f77e6d9739db45fc5d162da3a4036639 // 4FpI/jW6a/TRc+Uf8ljytc6oSt2w= // 5我完全絕望了。
查看完整描述

1 回答

?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊

似乎 Ruby 正在向 base64 編碼的字符串添加換行符,而 PHP 沒有。


紅寶石:


Base64.encode64('bonjour')

=> "Ym9uam91cg==\n"

PHP:


base64_encode('bonjour')

=> "Ym9uam91cg=="

所以現(xiàn)在我們知道如何在 PHP 中修復(fù)它:


hash_hmac('sha1', base64_encode('bonjour') . "\n", 'hello');

=> "62ac34e5d28563d6a50272d660805d1f8c791e41"

或者在 Ruby 中修復(fù)它:


OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new("sha1"), 

                        'hello', Base64.encode64('bonjour').chomp)

=> "89ebf8bd3d92bf3283aa4c5f24072820258367e4"

第2部分

在 PHP 以及 Ruby 中,'\n'與"\n". 第一個(gè)產(chǎn)生兩個(gè)字符(\后跟n),第二個(gè)產(chǎn)生一個(gè)換行符。


因此,要修復(fù)您的代碼,您需要在字符串中使用換行符,而不是 slash+n:


$base64 = chunk_split(base64_encode($json), 60, "\n");

                                                ^^^^

您還可以使用 去除 Ruby base64 編碼字符串中的換行符gsub,這意味著您不需要在 PHP 代碼中使用任何技巧:


encoded_body = Base64.encode64(json_body).gsub("\n", '')


查看完整回答
反對(duì) 回復(fù) 2022-07-22
  • 1 回答
  • 0 關(guān)注
  • 142 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)