
作者 | Purnaresa Yuliartanto
译者 | 凯隐
编辑 | Jane
出品 | 区块链大本营(ID:blockchain_camp)
个人识别信息(PII)是客户告知服务提供商(电子商务、金融服务等)的个人信息。作为服务提供者,他们有责任妥善保管信息。针对PII的攻击可能来自外部,也可能来自服务商内部。
为了抵御针对PII的攻击,将存储在数据库中的PII加密,这样组织内的员工就无法读取信息,外部攻击者在设法窃取数据库时也无法读取信息。
如何解决这一问题呢?本文就将为大家介绍用 Go语言为数据加密的策略。
一、数据写入
1、读取输入信息(明文)
2、将明文加密为密文
3、将密文写入到数据库中
二、数据读取
1、从数据库中读取密文
2、将密文解密为明文
3、发送明文
三、加密算法
对称密钥非常适合该任务的应用场景,其具有以下特点:
1、加密过程发生在一个缔约方(准确地说是同一服务)。因此无需与另一方交换密钥,双方使用同一密钥。
2、与非对称加密相比,对称加密速度更快,其带来的额外速度在数据交互服务总是受欢迎的。
3、每个数据字段中的文本可能很大。对称加密在加密大数据时具有更好的性能。
加密示例
kingsman ==> sLR9ctALjY0rtAi8IvosScCtBE21gyMOBl3xHzi52Hbo+H3O
四、示例
我们将以金融服务提供商的注册模块为例,展示如何对数据进行简单的加密保存和解密读取。
1、新用户创建函数
func createData(id, name, nationalID, createTimeUnix string) (err error) {
_, err = DB.Exec(`
INSERT INTO
user (id, name, national_id, create_time_unix)
VALUES
("?", "?", "?", "?")
`, id, name, nationalID, createTimeUnix)
return
}
上面的函数是用Go语言将数据写入数据库的最小函数。
这里将示例中的信息范围限制在4个属性:id,姓名,nationalID,createtimeunix。之后会用这个函数来集成加密函数。
2、数据读取函数
type User struct {
ID string
Name string
NationalID string
CreateTimeU

本文介绍了如何使用Go语言和对称密钥对数据库中的个人识别信息(PII)进行加密,以保护用户数据安全。文章详细阐述了数据写入和读取过程,以及AES加密算法的使用,并提供了一个具体的加密和解密函数示例,强调了在数据库操作中集成加密的重要性。
最低0.47元/天 解锁文章
332

被折叠的 条评论
为什么被折叠?



