Golang MongoDB字段级加密

我正在尝试使用mgo和Golang加密mongodb中的某些字段。 由于mongodb不支持字段级加密,因此我考虑在对数据进行编组和解组数据时对数据进行加密和解密。</ p>

例如,在下面的结构中,我想对Name进行加密 和性别</ p>

,如果我的结构像这样</ p>

  type用户结构{
UserID字符串json:“ userID,omitempty” bson: “ userID,omitempty”
UserName字符串json:“ userName,omitempty” bson:“ userName,omitempty”
UserAge字符串
json:“ userAge,omitempty” bson:“ userAge,omitempty”
UserGender字符串
json: “ userGender,omitempty” bson:“ userGender,omitempty”`
}
</ code> </ pre>

解决此问题的一种方法是在整理数据后,在保存之前对数据进行加密 db,以及用于将数据发送回UI的类似方法。 在封送和拆组数据之前,我是否可以收听某个事件? 还是有更好的方法呢? </ p>
</ div>

展开原文

原文

I am trying to encrypt certain fields in mongodb using mgo and Golang. Since mongodb does not support field level encryption , I was thinking of encrypting and decrypting the data while marshalling the data and unmarshalling the data.

For example, in the struct below I want to encrypt Name and Gender

if my struct as like this

type User struct {
UserID      string `json:"userID,omitempty" bson:"userID,omitempty"`
UserName    string `json:"userName,omitempty" bson:"userName,omitempty"`
UserAge   string `json:"userAge,omitempty" bson:"userAge,omitempty"`
UserGender string `json:"userGender,omitempty" bson:"userGender,omitempty"`
}

One way to solve this is after marshalling the data, encrypt the data before saving in the db, and a similar approach for sending the data back to the UI. Is there an event that I can listen to before the marshalling and unmarshalling of data? or is there a better way to do it?

dsa5211314
dsa5211314 “事件”是对GetBSON()和SetBSON()方法的实际调用。
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问