簡體   English   中英

如何使用填充pkcs5使用AES 256,ECB模式加密字符串?

[英]how to encrypt string using AES 256, ECB mode with padding pkcs5?

我是iOS的新手,我不知道如何使用帶ECB模式和填充的AES 256加密字符串,我看了一下cryptoswift,但是密鑰長度錯誤,我有64個字符的密鑰,我無法加密

func aes_Encrypt(AES_KEY: String) -> String {
    var result = ""
    do {
        let key: [UInt8] = Array(AES_KEY.utf8) as [UInt8]
        let aes = try! AES(key: key, blockMode: ECB() as BlockMode, padding: .pkcs5) 
        let encrypted = try aes.encrypt(Array(self.utf8))
        result = encrypted.toHexString()
        print("AES Encryption Result: \(result)")
    } catch {
        print("Error: \(error)")
    }
    return result
}

64個字符×8位= 512位,而不是AES256所需的256位。

如果您要傳遞的字符串是鍵的十六進制表示形式(例如"1234abcd…" ),則需要將其分成兩個字符的子字符串序列,並使用UInt8(…, radix:16)來解析每個字符串以十六進制表示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM