Golang 中的AES 加密和Java 中的解密
在本文中,我們將探討AES 加密在Golang 中的實現,並示範如何用Java 解密加密文字。
Golang 加密函數
Golang 加密函數使用高階加密標準(AES) 和Cipher 將純文字字串轉換為加密密文區塊進給(CFB) 模式。它產生隨機初始化向量 (IV),對明文進行加密,並將加密文字作為 Base64 編碼的字串傳回。
Java 解密函數
Java 解密函數將加密文字和加密金鑰作為輸入。它對 Base64 編碼的資料進行解碼,提取 IV,並初始化 AES/CFB/NoPadding 密碼。隨後,它解密密文以檢索原始明文,然後以字串形式返回。
Scala 解密函數
Scala 提供的解密函數類似於Java 函數。它使用 Base64 URL 解碼器對輸入文字進行解碼,初始化 AES/CFB/NoPadding 密碼,提取 IV,並對密文進行解密。不過原本使用的是Hex.decodeHex,需要替換為Base64 URL解碼器才能準確解密。
使用範例
可以使用Golang提供的加密函數在 Golang 中加密文字。產生的密文可以傳遞給 Java 或 Scala 解密函數以檢索原始明文。例如,考慮輸入文字「測試文字 123」。 Golang中的加密函數將產生「c1bpFhxn74yzHQs-vgLcW6E5yL8zJfgceEQgYl0=」作為加密密文。然後可以使用 Java 或 Scala 解密函數來恢復原始明文「測試文字 123」。
以上是以下是一些潛在的標題,具有不同的基調和目標受眾: 直接且資訊豐富: * 如何使用 Golang 加密並使用 Java 或 Scala 解密(使用 AES-CFB) * 跨語言的詳細內容。更多資訊請關注PHP中文網其他相關文章!