在Mac上进行公钥加密/解密操作,可以使用OpenSSL库来实现。下面是一个示例代码:
- 首先,生成公钥和私钥:openssl genrsa -out private_key.pem 2048
openssl rsa -in private_key.pem -pubout -out public_key.pem这将生成一个私钥文件private_key.pem和一个公钥文件public_key.pem。
- 加密:from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
def encrypt(message, public_key_path):
with open(public_key_path, 'r') as f:
public_key = RSA.import_key(f.read())
cipher = PKCS1_OAEP.new(public_key)
encrypted_message = cipher.encrypt(message.encode())
return encrypted_message.hex()
message = "Hello, World!"
public_key_path = "public_key.pem"
encrypted_message = encrypt(message, public_key_path)
print("Encrypted message:", encrypted_message)这段代码使用了Crypto库来进行加密操作。首先,从公钥文件中导入公钥,然后使用PKCS1_OAEP算法进行加密。最后,将加密后的消息以十六进制形式输出。
- 解密:from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
def decrypt(encrypted_message, private_key_path):
with open(private_key_path, 'r') as f:
private_key = RSA.import_key(f.read())
cipher = PKCS1_OAEP.new(private_key)
decrypted_message = cipher.decrypt(bytes.fromhex(encrypted_message)).decode()
return decrypted_message
encrypted_message = "..."
private_key_path = "private_key.pem"
decrypted_message = decrypt(encrypted_message, private_key_path)
print("Decrypted message:", decrypted_message)这段代码同样使用了Crypto库来进行解密操作。首先,从私钥文件中导入私钥,然后使用PKCS1_OAEP算法进行解密。最后,将解密后的消息输出。
请注意,这只是一个示例代码,实际使用时需要根据具体情况进行适当的修改和调整。