From b7cd484a869600e181dd06522befbfd091a7a488 Mon Sep 17 00:00:00 2001 From: Yigit Sever Date: Fri, 16 Apr 2021 05:47:08 +0300 Subject: Almost passsing auth --- scripts/encryptor.py | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 scripts/encryptor.py (limited to 'scripts') diff --git a/scripts/encryptor.py b/scripts/encryptor.py new file mode 100644 index 0000000..008ac51 --- /dev/null +++ b/scripts/encryptor.py @@ -0,0 +1,57 @@ +import os +from cryptography.hazmat.primitives.ciphers.modes import CBC +from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes +from cryptography.hazmat.primitives import padding +import base64 +import binascii + +def bin2hex(binStr): + return binascii.hexlify(binStr) + +def hex2bin(hexStr): + return binascii.unhexlify(hexStr) + +iv = hex2bin("6e657665726d696e647468656e66756b") +key = hex2bin("6e6565726d666e646e6565726d666e64") + +mode = CBC(iv) + +cipher = Cipher(algorithms.AES(key), mode) + +encryptor = cipher.encryptor() + +padder = padding.PKCS7(128).padder() + +payload_string = """{"public_key":"-----BEGIN PUBLIC KEY-----\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzJN9ALFoUHE8SigFhtql +\\n+GPI6dIVHDCfAFXe6DU131yXoL14imBRBb5SevMou5WGiL7XBTdtlRaY8+dkNdFz\\nWEMhPoe++/GvV3u6Mq6UAJMjuiJj838NbJVl+83+NEP66htXpqidTIdr +7syaRU1T\\n0PfgvVYdNkwiWkTVtwveRchGtUwp2iZePMSF1+vtKKDvzXgZuwrKBhwBFXz6ApSZ\\n+eGkWhK1pW6TRTSENlySwb/DEg5PckzOzApLTTQqi4uu+sHU +D+McAtOP9pNILwst\\nG87LxNEO0roFqUaDIhRolgkF8jol2BUZmKChdy84XX+L6jpqDvPsxuTUpIghr0Jq\\nvQIDAQAB\\n-----END PUBLIC KEY-----","st +udent_id":"e223795","passwd":"pmcTCKox99NFsqp"}""" + +byte_guys = str.encode(payload_string) +padded_data = padder.update(byte_guys) + +ct = encryptor.update(padded_data) + encryptor.finalize() + +c = base64.b64encode(ct) + +import Crypto +from Crypto.Cipher import PKCS1_OAEP +from Crypto.PublicKey import RSA + +gradecoin_key = """-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyGuqiCPGcguy+Y9TH7Bl +7XlEsalyqb9bYlzpbV0dnqZ3lPkEPkuOhkN+GcuiV6iXtSwyh7nB+xTRXKJFRUBO +/jbN8jfcxVwBu0JxjF3v1YRBxbOHhz2A295mbKD9xHQCKxkfYBNkUXxj8gd+GaDv +QiSW5NdrX/lEkvqfGtdEX1m2+HdcG0+3YW24Xg0znhCwLr+sorLuJaDy9Xa0Uo+D +PWGC5s001U/BxkCIWJ+eJQCb7Bv+9vXb8BGRK/ecMb/fb6h5O+8fgB64RCHMgcc2 +v+Q/dPt8kHX1OJdMuYUrUJGACppMQY3W6e1HdlRIBcZKL2LMZ2CrIB/2D5LiJhPT +hQIDAQAB +-----END PUBLIC KEY-----""" + +publickey = RSA.import_key(gradecoin_key) + +asy_cipher = PKCS1_OAEP.new(publickey, hashAlgo=Crypto.Hash.SHA256) +ciphertext = asy_cipher.encrypt(key) + +key = base64.b64encode(ciphertext) -- cgit v1.2.3-70-g09d2