在Golang中使用x509公钥和私钥的数据加密和解密实例

504 阅读1分钟

你可以使用下面的例子在Golang中进行数据加密和解密。它使用x509公钥和私钥。如果加密和解密发生在两台不同的机器上,这是很理想的。你可以在请求正文中使用加密的数据。

公钥和私钥

公钥属于发送方,而私钥属于接收方。发送方用它的公钥对普通信息进行加密。接收者用其私人密钥解密加密信息。这些钥匙只生成一次并使用。

生成密钥

一旦你用下面的软件包生成了这两把钥匙,把它们分别保存在 "certs/public.key "和 "certs/private.key "文件中,然后在发送方和接收方机器之间共享。

// internal/pki
package main
-----BEGIN RSA PUBLIC KEY-----
-----BEGIN RSA PRIVATE KEY-----

发送方

使用这个软件包用公钥加密普通信息,然后发送给接收者。

// internal/pki
package main
-----BEGIN MESSAGE-----

接收者

使用这个软件包用私钥解密加密的信息,然后处理它。

// internal/pki
package main
This is a very secret message :)