>  기사  >  백엔드 개발  >  Go에서 CryptoJS.AES.decrypt를 구현하는 방법

Go에서 CryptoJS.AES.decrypt를 구현하는 방법

WBOY
WBOY앞으로
2024-02-05 21:45:031006검색

如何在 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׺�h� -׸��%Z(0��c�v�r�:�=�>}���b��n���g�lu}������&�3� . �%|M��fxdGW27z�D��J���"(�[D�+<��n�z�4:����� ��iZs��ix��G��$��.=��3J��5{"g��#z ����Z��#����@����Xs��# ��ZR;����VI ������ ��w�X/�bp�r ��

빠른 시도: https://goplay.tools/snippet/QooAajJ4ky0

Go를 사용하여 이 데이터를 해독하거나 내 코드를 수정하도록 도와주세요. 감사합니다 <3


정답


@Topaco님이 댓글에 분명히 언급하셨듯이

CryptoJS 文档,默认模式为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成功解密> 패키지를 사용할 수 있습니다.

으아악

출력

으아악

또는 CryptoJS中使用CFB을 사용하려면 모드를 명시적으로 지정해야 합니다.

으아악

위 내용은 Go에서 CryptoJS.AES.decrypt를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제