Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wiseplat
GitHub Repository: wiseplat/python-code
Path: blob/master/ invest-robot-contest_trading_bot-master/config/crypto_rsa.py
5933 views
1
import rsa
2
import os.path
3
4
5
def create_rsa_keys():
6
if not os.path.exists("config/publicKey.pem") or not os.path.exists("config/publicKey.pem"):
7
public_key, private_key = rsa.newkeys(1024)
8
9
with open("config/publicKey.pem", "wb") as public:
10
public.write(public_key.save_pkcs1('PEM'))
11
12
with open("config/privateKey.pem", "wb") as private:
13
private.write(private_key.save_pkcs1('PEM'))
14
15
16
def get_rsa_keys():
17
with open('config/publicKey.pem', 'rb') as pub:
18
public_key = rsa.PublicKey.load_pkcs1(pub.read())
19
20
with open('config/privateKey.pem', 'rb') as priv:
21
private_key = rsa.PrivateKey.load_pkcs1(priv.read())
22
23
return public_key, private_key
24
25
26
def encrypt(text):
27
with open('config/publicKey.pem', 'rb') as pub:
28
public_key = rsa.PublicKey.load_pkcs1(pub.read())
29
30
return rsa.encrypt(text.encode('ascii'), public_key)
31
32
33
def decrypt(text):
34
with open('config/privateKey.pem', 'rb') as priv:
35
private_key = rsa.PrivateKey.load_pkcs1(priv.read())
36
37
return rsa.decrypt(text, private_key).decode('ascii')
38
39