加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Golang AES ECB加密

发布时间:2020-12-16 19:29:00 所属栏目:大数据 来源:网络整理
导读:尝试在Go中模拟基本上是AES ECB模式加密的算法. 这是我到目前为止所拥有的 func Decrypt(data []byte) []byte { cipher,err := aes.NewCipher([]byte(KEY)) if err == nil { cipher.Decrypt(data,PKCS5Pad(data)) return data } return nil} 我还有一个PKCS5
尝试在Go中模拟基本上是AES ECB模式加密的算法.

这是我到目前为止所拥有的

func Decrypt(data []byte) []byte {
    cipher,err := aes.NewCipher([]byte(KEY))
    if err == nil {
        cipher.Decrypt(data,PKCS5Pad(data))
        return data
    }
    return nil
}

我还有一个PKCS5Padding算法,经过测试和工作,它首先填充数据.我无法找到有关如何在Go AES包中切换加密模式的任何信息(绝对不是在the docs中).

我有这个代码用另一种语言,这就是我知道这个算法不能正常工作的方式.

编辑:这是我在问题页面上解释的方法

func AESECB(ciphertext []byte) []byte {
    cipher,_ := aes.NewCipher([]byte(KEY))
    fmt.Println("AESing the data")
    bs := 16
    if len(ciphertext)%bs != 0     {
        panic("Need a multiple of the blocksize")
    }

    plaintext := make([]byte,len(ciphertext))
    for len(plaintext) > 0 {
        cipher.Decrypt(plaintext,ciphertext)
        plaintext = plaintext[bs:]
        ciphertext = ciphertext[bs:]
    }
    return plaintext
}

这实际上并没有返回任何数据,也许我在将其从编写脚本转换为decripting时搞砸了

欧洲央行故意被排除在外,因为它不安全,请查看 issue 5597.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读