1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| from socket import *
import rsa
PUB = b'-----BEGIN RSA PUBLIC KEY-----\nMIIECgKCBAEA0clXVz1AWzgNSm7F6phzkXMoHrMywLrYKuDhh4wwnTt/08CFFN/V\nQbNk7wioAHC04D/iAe8XAH26T+i8y8zErxTTxitRN38Lrf0S1y3q+XBvQfm9z5X7\n8o6dHx/u8PMMQzwpqQZeICupLZe0+h9dP2Y05wKwnP9xRDJYelzc1VvdlNJS9x0l\nrb41+x2851ULq0z5iLUpUb4cBA2vVZ60BHKr22IhysQQ0MhUX8JnNAcQacQXJI+j\n7ROoo0dySQiHGrUKsELfUIl3XSMPBF+vF2shZnldip+uOyyMfUz35YHtlHIbyAKD\nfXWx2nkf3lMd0Fq/YfdUUcJWm6qxgvVoeCInpT2xDC4QnPQFantHEJinupajFupF\n0GBZp+/KFbgNYWqRbJzqywKA0epdMvlQsHbNfG4AkdOE4jP/WHBq73xdutajtCbd\nlFGd/VISconfpx8E0Ouj2fvoOcNIk9ed3zPF1sRJ5WsYAP7Cp1aSa98Lg9phb68E\nzsaQBMt4+bZbuJ0TC9e73P36f9j9+Cj+kFS6rVRbVbPn+oI/HWPn2BJ5W0pR5Buh\niXWhlGV+KHII63SqVx7jSmKmuTJk87FWg2q7+/joLidXvUnZbUj1eroIRtDkNA9e\n3VwCdkzUvQaBvYIEzqxE7Ej5ZL0gQHa3honCSl4aFDq7QcBnO6kti98fJIY1K0Fh\n6J94WHs80J00paSkZK77leE410Lq7ImVpq3mNwjEvp0x8K4eRMllOUWaoUcqo8tW\nS8OT5mUuP604hdK6ZAtjN5yJz9ro2ii1SkGjcx0YDVpGdK5LjKgKtWBj4ZrFMLHE\nMEquwHDpRsWZRWILrIy9gYooav43kovGMaUdRLAzlkvC2oa66aCehugvvvoW9kmE\nzihIfFuLH7W8suj69XI8v//QLQATqTc+0bBgdNlASJVk7z1m5mlNUIBX33W5V6qe\nToexbo1w1+/7Bjo80ketY1avVVWbZVIEgu1bkT+Z+DVqoU4zw6JMopu2bzlQSGbG\nF+4A3w1CK7U4dCXV/Vh7nbGSgJXjpO+EM0Hk3VcBoGReTsq5AVVOYu2I6Xrjds3b\n/Dek81JRHKCcdto4ZSpuL+73NrQwhu09EByH63cOYoSAz6mWbsUev5B12bkIheaL\nYKfCud06McA0pq5VvqEpFZDjgyszHtuVbwDcQQaXzF0Jq6X1jojjfxIakI3xUvlA\nmNk8JkFX6VdZ1NI9KbFcIBqZxbmgXQbWM6K4bJ+GXEcFZkaVZuInEMI8ak6VjmCy\nPt7Ty4WPKeDNzPSNSBi3HPPPB/yfOiMATdGXsm/jKp97RILiDi72ccdHrfzYYeei\niH7d6Dne6nKGIyXZJeFrfB1hSBvlXmIGXQIDAQAB\n-----END RSA PUBLIC KEY-----\n'
PRI = b'-----BEGIN RSA PRIVATE KEY-----\n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\nwui+fB+tk56BUG9c6c0LjkQb7+Xb5Qtdf5QDtKM=\n-----END RSA PRIVATE KEY-----\n'
pubkey = rsa.PublicKey.load_pkcs1(PUB) serverSocket = socket(AF_INET, SOCK_STREAM) serverSocket.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) serverSocket.bind(('', 6900)) serverSocket.listen(1) print('start...') conn, address = serverSocket.accept() print("连接成功") try: request = conn.recv(1024).decode() print(request)
with open('./src/step2/python.jpg', 'rb') as f: read_info = f.read() encrypted_info = rsa.encrypt(read_info, pubkey) conn.send(encrypted_info) conn.close() except IOError: conn.close()
|