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 求解 yolo算法问题
    • ¥15 虚拟机打包apk出现错误
    • ¥30 最小化遗憾贪心算法上界
    • ¥15 用visual studi code完成html页面
    • ¥15 聚类分析或者python进行数据分析
    • ¥15 三菱伺服电机按启动按钮有使能但不动作
    • ¥15 js,页面2返回页面1时定位进入的设备
    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝