萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> node.JS md5加密中文與php結果不一致怎麼辦

node.JS md5加密中文與php結果不一致怎麼辦

這次文章要給大家介紹的是node.JS md5加密中文與php結果不一致怎麼辦,不知道具體解決辦法的下面跟小編一起來看看。 因項目需要,需要Node.js與PHP做接口調用,發現node.js對中文使用md5加密與php對中文md5加密的結果不同。

 

 代碼如下復制代碼 PHP

<?php

$str='程序員'

echo$str.' md5:'.md5($str);

?>

 

輸出:

程序員 md5:72d9adf4944f23e5efde37f6364c126f

node.JS

 

 代碼如下復制代碼

varcrypto = require('crypto');

  

varmd5 =function(str){

 varcrypto_md5 = crypto.createHash('md5');

 crypto_md5.update(str);

 returncrypto_md5.digest('hex');

}

  

varstr ='程序員'

varresult = str +' md5:'+ md5(str);

console.log(result);

 

輸出:

程序員 md5:1b6ad7846ec870e78363d1db4fb2a0ff

經查閱資料發現是編碼問題,只要在node.JS中加入編碼即可解決問題。

解決方法如下:

 

 代碼如下復制代碼

varcrypto = require('crypto');

varmd5 =function(str){

 varcrypto_md5 = crypto.createHash('md5');

 crypto_md5.update(str,'utf8');// 加入編碼

 returncrypto_md5.digest('hex');

}

varstr ='程序員'

varresult = str +' md5:'+ md5(str);

console.log(result);

輸出:

程序員 md5:72d9adf4944f23e5efde37f6364c126f

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助。

copyright © 萬盛學電腦網 all rights reserved