我有關於解密字符串的以下信息。它用於線路API。 https://developers.line.me/in_app_web/api-reference#get_token在node.js中使用AES算法解密用於行API的字符串
加密的字符串將使用Channel Secret解碼爲對稱密鑰。使用的算法是AES,塊大小爲128位,加密模式爲ECB,填充爲PKCS#5。 Channel Secret字符串將被解釋爲十六進制字節字符串並用作對稱密鑰。加密的字符串遵循Base64編碼,並在解碼後恢復。
它還提供了java,ruby和php的例子。我試圖在node.js上實現這一點,但我完全與所有術語混淆,以及如何在node.js上實現它。
Ruby實現
source = ... # encrypted string
cipher = OpenSSL::Cipher::Cipher.new('AES-128-ECB')
cipher.decrypt
cipher.key = ['YOUR_CHANNEL_SECRET'].pack('H*')
decoded = Base64.decode64(source)
decrypted = cipher.update(decoded) + cipher.final
PHP實現
$source = ...; // encrypted string
$secretKey = pack('H*', "YOUR_CHANNEL_SECRET");
$decoded = base64_decode($source);
$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $secretKey, $decoded, MCRYPT_MODE_ECB);
所以在這裏我們有源和YOUR_CHANNEL_SECRET avaialble。任何關於如何在node.js上實現的幫助都會有所幫助。
謝謝
我想這個問題是爲了加密。這個問題是解密。 – Yalamber