dongyuduan1890 2019-08-25 07:51
浏览 93

CFB解密问题:Go和JSON解组

I am having some trouble decrypting a string correctly. The first few bytes are not correct, the remaining characters are correct.

Encryption:

    user := User{username, password, *rsakey, username_maca, password_maca}

    u, _ := json.Marshal(user)
    ciphertext := make([]byte, userlib.BlockSize+len(u))

    iv := ciphertext[:userlib.BlockSize]
    copy(iv, userlib.RandomBytes(userlib.BlockSize))
    cipher := userlib.CFBEncrypter(password_byte, iv)
    cipher.XORKeyStream(ciphertext[userlib.BlockSize:], []byte(u))

Decryption:

    encryptd_data, valid := userlib.DatastoreGet(string(username_mac))

    iv := encryptd_data[:userlib.BlockSize]
    ciphertext := encryptd_data[userlib.BlockSize:]

    cipher := userlib.CFBDecrypter(password_byte, iv)
    cipher.XORKeyStream(ciphertext[userlib.BlockSize:], ciphertext[userlib.BlockSize:])

    var g uuid.UUID
    json.Unmarshal(ciphertext[userlib.BlockSize:], &g)

After decryption, the first few bytes are not correct and after unmarshalling, output is all zeros.

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题