Go를 사용하여 ECB 모드에서 AES 데이터 복호화
Go에서 AES-ECB를 사용하여 데이터 복호화에 대한 쿼리에 대한 응답으로 다음 솔루션은 다음과 같습니다.
전자 코드북(ECB) 모드는 데이터를 지정된 크기의 블록으로 나누는 기본 방법입니다(예: AES-128은 16바이트 블록을 사용함). 그런 다음 각 블록은 AES 알고리즘을 사용하여 독립적으로 암호화되어 암호화된 블록이 생성됩니다.
AES-128 ECB를 사용하여 암호화된 데이터를 해독하려면 다음 단계를 따르세요.
필요한 모듈 가져오기:
<code class="go">import ( "crypto/aes" )</code>
새 암호 생성:
<code class="go">cipher, _ := aes.NewCipher([]byte(key))</code>
키를 암호화 키로 교체 데이터를 암호화하는 데 사용됩니다.
복호화된 데이터를 저장할 빈 버퍼를 만듭니다:
<code class="go">decrypted := make([]byte, len(data))</code>
data는 암호화된 데이터를 나타냅니다.
블록 크기 정의:
<code class="go">size := 16 // block size for AES-128</code>
각 블록 암호 해독:
<code class="go">for bs, be := 0, size; bs < len(data); bs, be = bs+size, be+size { cipher.Decrypt(decrypted[bs:be], data[bs:be]) }</code>
이 루프는 각 블록을 복호화하고 결과를 복호화된 버퍼에 저장합니다.
복호화된 데이터를 반환합니다:
<code class="go">return decrypted</code>
ECB 모드에는 알려진 보안 취약점이 있다는 점을 기억하세요. 동일한 블록은 항상 동일한 암호화된 블록으로 이어지기 때문입니다. AES를 통한 보다 안전한 암호화를 위해 CBC 또는 GCM과 같은 다른 작동 모드를 고려하십시오.
위 내용은 Go를 사용하여 ECB 모드에서 AES 데이터를 해독하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!