ホームページ  >  記事  >  バックエンド開発  >  Go で CryptoJS.AES.decrypt を実装する方法

Go で CryptoJS.AES.decrypt を実装する方法

WBOY
WBOY転載
2024-02-05 21:45:03963ブラウズ

如何在 Go 中实现 CryptoJS.AES.decrypt

質問の内容

JavaScript で CryptoJS を使用して、指定されたキーで「単純な」AES 復号化を実行しています

リーリー

このデータを Go (Golang) で復号化しようとしましたが、失敗しました。 AES については何も知りません。これがこれまでの私のコードです

リーリー

結果: ��9������ff������������jTY:���SV�PZLDw%��z��0���&� � � j@'��_H��0 ����b�8��b}��;Y����d��0�^P얿L�aC�3�2�m�� d׺ � はぁ -׸��%Z(0��c�v�r�:�=�>}����b��n�����g�lu}������&�3� . �%|M�fxdGW27z�D�J�"(�[D�

クイックトライ: https://goplay.tools/snippet/QooAajJ4ky0

Go を使用してこのデータを復号化するか、コードを修正してください。ありがとうございます<3


正解


@Topacoがコメントで明確に述べたように、

#CryptoJS Documentation によると、デフォルトのモードは CBC です。したがって、暗号文は CBC モードを使用して暗号化されます。

しかし、

go コードでは、CFB モードを使用して、cipher.NewCFBDecrypter(block, iv) を使用して暗号文を復号しました。これは明らかにそうではありません。正しいモデル。

NewCFBDecrypter /pkg.go.dev/crypto/cipher#NewCB​​ CDecrypter" rel="nofollow noreferrer">NewCB​​ CDecrypter を使用する必要があります。

https://www.php.cn/link/2c6ee860dfb322d0fc5dbbf5a2aa0b39 パッケージを使用できます。 成功解密> リーリー ######出力###### リーリー

または CFB

CryptoJS で使用する場合は、モードを明示的に指定する必要があります。 リーリー

以上がGo で CryptoJS.AES.decrypt を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。