def encode(self,string):
return base64.standard_b64encode(string)
python类standard_b64encode()的实例源码
def connect(self):
self.custom_sessionid = None
self.logged_in = False
response = self._request("InitialApp.php", {
"RegionCode": self.region_code,
"lg": "en-US",
})
ret = CarwingsInitialAppResponse(response)
c1 = Blowfish.new(ret.baseprm, Blowfish.MODE_ECB)
packedPassword = _PKCS5Padding(self.password)
encryptedPassword = c1.encrypt(packedPassword)
encodedPassword = base64.standard_b64encode(encryptedPassword)
response = self._request("UserLoginRequest.php", {
"RegionCode": self.region_code,
"UserId": self.username,
"Password": encodedPassword,
})
ret = CarwingsLoginResponse(response)
self.custom_sessionid = ret.custom_sessionid
self.gdc_user_id = ret.gdc_user_id
log.debug("gdc_user_id: %s" % self.gdc_user_id)
self.dcm_id = ret.dcm_id
log.debug("dcm_id: %s" % self.dcm_id)
self.tz = ret.tz
log.debug("tz: %s" % self.tz)
self.language = ret.language
log.debug("language: %s" % self.language)
log.debug("vin: %s" % ret.vin)
log.debug("nickname: %s" % ret.nickname)
self.leaf = Leaf(self, ret.leafs[0])
self.logged_in = True
return ret
def random(length=64, encoding="hex"):
if encoding == "base64": # Characters: A-Za-z0-9
hash = hashlib.sha512(os.urandom(256)).digest()
return base64.standard_b64encode(hash).replace("+", "").replace("/", "").replace("=", "")[0:length]
else: # Characters: a-f0-9 (faster)
return hashlib.sha512(os.urandom(256)).hexdigest()[0:length]
def SignMessage(self,message,priv):
#Sign a message. The private key is self.d.
(d,uncompressed)=self.DFromPriv(priv)
z=Byte2Int(Hash(Hash(MsgMagic(message),"SHA256"),"SHA256"))
r=0
s=0
while not r or not s:
#k=random.randint(1,self.n-1)
k=random.SystemRandom().randint(1,self.n-1) # Better random fix
R=self*k
R.Normalize()
r=R.x[0]%self.n
s=(InvMod(k,self.n)*(z+r*d))%self.n
val=27
if not uncompressed:
val+=4
return base64.standard_b64encode(chr(val)+Int2Byte(r,32)+Int2Byte(s,32))
def _sign_payload(self, payload):
j = json.dumps(payload)
data = base64.standard_b64encode(j.encode('utf8'))
h = hmac.new(self.SECRET.encode('utf8'), data, hashlib.sha384)
signature = h.hexdigest()
return {
"X-BFX-APIKEY": self.KEY,
"X-BFX-SIGNATURE": signature,
"X-BFX-PAYLOAD": data
}
constrained_client.py 文件源码
项目:creator-system-test-framework
作者: CreatorDev
项目源码
文件源码
阅读 28
收藏 0
点赞 0
评论 0
def Encode(value):
if isinstance(value, int):
data = struct.pack("=q", value)
elif isinstance(value, float):
data = struct.pack("=d", value)
elif isinstance(value, str):
data = value
else:
raise EncodeException("Unknown type %s with value %s" % (str(type(value)),str(value),))
return base64.standard_b64encode(data)
def encode(self, string):
return mybase64.standard_b64encode(string)
def _get_password(self, server):
"""Returns the password of a server for this adapter."""
base = server.name if hasattr(server, 'name') else server
return b64enc(hashlib.sha256(base.encode('utf-8')).digest()).decode('utf-8')
def auth_encode(apikey):
auth = base64.standard_b64encode(apikey)
auth.replace("\n", "")
return auth
def _sign_payload(self, payload):
j = json.dumps(payload).encode('utf-8')
encoded_body = base64.standard_b64encode(j)
h = hmac.new(self.SECRET.encode('utf-8'), encoded_body, hashlib.sha384)
signature = h.hexdigest()
return {
'X-BFX-APIKEY': self.KEY,
'X-BFX-SIGNATURE': signature,
'X-BFX-PAYLOAD': encoded_body,
}
# Packs and sign the payload and send the request with GET.
def DER_cert_to_PEM_cert(der_cert_bytes):
"""Takes a certificate in binary DER format and returns the
PEM version of it as a string."""
f = str(base64.standard_b64encode(der_cert_bytes), 'ASCII', 'strict')
return (PEM_HEADER + '\n' +
textwrap.fill(f, 64) + '\n' +
PEM_FOOTER + '\n')
def md5_sum(content):
return base64.standard_b64encode(hashlib.md5(content).digest())
def __generate_msl_request_data(self, data):
self.__load_msl_data()
header_encryption_envelope = self.__encrypt(
plaintext=self.__generate_msl_header())
headerdata = base64.standard_b64encode(header_encryption_envelope)
header = {
'headerdata': headerdata,
'signature': self.__sign(header_encryption_envelope),
'mastertoken': self.mastertoken,
}
# Serialize the given Data
raw_marshalled_data = json.dumps(data)
marshalled_data = raw_marshalled_data.replace('"', '\\"')
serialized_data = '[{},{"headers":{},"path":"/cbp/cadmium-13"'
serialized_data += ',"payload":{"data":"'
serialized_data += marshalled_data
serialized_data += '"},"query":""}]\n'
compressed_data = self.__compress_data(serialized_data)
# Create FIRST Payload Chunks
first_payload = {
'messageid': self.current_message_id,
'data': compressed_data,
'compressionalgo': 'GZIP',
'sequencenumber': 1,
'endofmsg': True
}
first_payload_encryption_envelope = self.__encrypt(
plaintext=json.dumps(first_payload))
payload = base64.standard_b64encode(first_payload_encryption_envelope)
first_payload_chunk = {
'payload': payload,
'signature': self.__sign(first_payload_encryption_envelope),
}
request_data = json.dumps(header) + json.dumps(first_payload_chunk)
return request_data
def __compress_data(self, data):
# GZIP THE DATA
out = StringIO()
with gzip.GzipFile(fileobj=out, mode="w") as f:
f.write(data)
return base64.standard_b64encode(out.getvalue())
def __sign(self, text):
"""
Calculates the HMAC signature for the given
text with the current sign key and SHA256
:param text:
:return: Base64 encoded signature
"""
signature = HMAC.new(self.sign_key, text, SHA256).digest()
return base64.standard_b64encode(signature)
def getCaptchaTask(self, exclusive=False):
"""Returns a captcha task
:param exclusive: unused
:return: `CaptchaTask`
"""
self.core.lastClientConnected = time()
task = self.core.captchaManager.getTask()
if task:
task.setWatingForUser(exclusive=exclusive)
data, type, result = task.getCaptcha()
t = CaptchaTask(int(task.id), standard_b64encode(data), type, result)
return t
else:
return CaptchaTask(-1)
def encode_array(array, compression=COMPRESSION_NONE, dtype=np.float32):
bytestring = np.asanyarray(array).astype(dtype).tobytes()
if compression == COMPRESSION_NONE:
bytestring = bytestring
elif compression == COMPRESSION_ZLIB:
bytestring = zlib.compress(bytestring)
else:
raise ValueError("Unknown compression: %s" % compression)
encoded_string = base64.standard_b64encode(bytestring)
return encoded_string