本文整理汇总了Python中binascii.b2a_base64方法的典型用法代码示例。如果您正苦于以下问题:Python binascii.b2a_base64方法的具体用法?Python binascii.b2a_base64怎么用?Python binascii.b2a_base64使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类binascii
的用法示例。
在下文中一共展示了binascii.b2a_base64方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: encode
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def encode(cls, v):
"""Return the given header name or value, encoded for HTTP output."""
for enc in cls.encodings:
try:
return v.encode(enc)
except UnicodeEncodeError:
continue
if cls.protocol == (1, 1) and cls.use_rfc_2047:
# Encode RFC-2047 TEXT
# (e.g. u"\u8200" -> "=?utf-8?b?6IiA?=").
# We do our own here instead of using the email module
# because we never want to fold lines--folding has
# been deprecated by the HTTP working group.
v = b2a_base64(v.encode('utf-8'))
return (b'=?utf-8?b?' + v.strip(b'\n') + b'?=')
raise ValueError('Could not encode header part %r using '
'any of the encodings %r.' %
(v, cls.encodings))
示例2: b64encode
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def b64encode(s, altchars=None):
"""Encode a byte string using Base64.
s is the byte string to encode. Optional altchars must be a byte
string of length 2 which specifies an alternative alphabet for the
'+' and '/' characters. This allows an application to
e.g. generate url or filesystem safe Base64 strings.
The encoded byte string is returned.
"""
if not isinstance(s, bytes_types):
raise TypeError("expected bytes, not %s" % s.__class__.__name__)
# Strip off the trailing newline
encoded = binascii.b2a_base64(s)[:-1]
if altchars is not None:
if not isinstance(altchars, bytes_types):
raise TypeError("expected bytes, not %s"
% altchars.__class__.__name__)
assert len(altchars) == 2, repr(altchars)
return encoded.translate(bytes.maketrans(b'+/', altchars))
return encoded
示例3: body_encode
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def body_encode(s, maxlinelen=76, eol=NL):
r"""Encode a string with base64.
Each line will be wrapped at, at most, maxlinelen characters (defaults to
76 characters).
Each line of encoded text will end with eol, which defaults to "\n". Set
this to "\r\n" if you will be using the result of this function directly
in an email.
"""
if not s:
return s
encvec = []
max_unencoded = maxlinelen * 3 // 4
for i in range(0, len(s), max_unencoded):
# BAW: should encode() inherit b2a_base64()'s dubious behavior in
# adding a newline to the encoded string?
enc = b2a_base64(s[i:i + max_unencoded]).decode("ascii")
if enc.endswith(NL) and eol != NL:
enc = enc[:-1] + eol
encvec.append(enc)
return EMPTYSTRING.join(encvec)
示例4: _oauth_signature
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def _oauth_signature(consumer_token, method, url, parameters={}, token=None):
"""Calculates the HMAC-SHA1 OAuth signature for the given request.
See http://oauth.net/core/1.0/#signing_process
"""
parts = urlparse.urlparse(url)
scheme, netloc, path = parts[:3]
normalized_url = scheme.lower() + "://" + netloc.lower() + path
base_elems = []
base_elems.append(method.upper())
base_elems.append(normalized_url)
base_elems.append("&".join("%s=%s" % (k, _oauth_escape(str(v)))
for k, v in sorted(parameters.items())))
base_string = "&".join(_oauth_escape(e) for e in base_elems)
key_elems = [escape.utf8(consumer_token["secret"])]
key_elems.append(escape.utf8(token["secret"] if token else ""))
key = b"&".join(key_elems)
hash = hmac.new(key, escape.utf8(base_string), hashlib.sha1)
return binascii.b2a_base64(hash.digest())[:-1]
示例5: _oauth10a_signature
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def _oauth10a_signature(consumer_token, method, url, parameters={}, token=None):
"""Calculates the HMAC-SHA1 OAuth 1.0a signature for the given request.
See http://oauth.net/core/1.0a/#signing_process
"""
parts = urlparse.urlparse(url)
scheme, netloc, path = parts[:3]
normalized_url = scheme.lower() + "://" + netloc.lower() + path
base_elems = []
base_elems.append(method.upper())
base_elems.append(normalized_url)
base_elems.append("&".join("%s=%s" % (k, _oauth_escape(str(v)))
for k, v in sorted(parameters.items())))
base_string = "&".join(_oauth_escape(e) for e in base_elems)
key_elems = [escape.utf8(urllib_parse.quote(consumer_token["secret"], safe='~'))]
key_elems.append(escape.utf8(urllib_parse.quote(token["secret"], safe='~') if token else ""))
key = b"&".join(key_elems)
hash = hmac.new(key, escape.utf8(base_string), hashlib.sha1)
return binascii.b2a_base64(hash.digest())[:-1]
示例6: sign_psbt
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def sign_psbt(self, stream):
# decode to file
with open(self.path+"/psbt", "wb") as f:
chunk = bytearray(4)
l = stream.readinto(chunk)
while l > 0:
f.write(a2b_base64(chunk[:l]))
l = stream.readinto(chunk)
# reopen to read
with open(self.path+"/psbt", "rb") as f:
# ask the manager to sign transaction
# if tx is not ok - it will raise an error
psbt = await self.manager.sign_psbt(f, remote=True)
if psbt is None:
self.respond(b'error: User cancelled')
# serialize, convert to base64, send back
raw_tx_stream = BytesIO(psbt.serialize())
# convert to base64 in chunks
chunk = bytearray(3)
l = raw_tx_stream.readinto(chunk)
while l > 0:
self.usb.write(b2a_base64(chunk[:l]).strip())
l = raw_tx_stream.readinto(chunk)
# add EOL
self.respond(b'')
示例7: encode
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def encode(self, inp):
#
# Invoke binascii.b2a_base64 iteratively with
# short even length buffers, strip the trailing
# line feed from the result and append. "Even"
# means a number that factors to both 6 and 8,
# so when it gets to the end of the 8-bit input
# there's no partial 6-bit output.
#
oup = ''
while inp:
if len(inp) > 48:
t = inp[:48]
inp = inp[48:]
else:
t = inp
inp = ''
e = binascii.b2a_base64(t)
if e:
oup = oup + e[:-1]
return oup
示例8: action_generate
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def action_generate(arguments):
curve = ecdsa.NIST521p
color.print_status('generating a new ecdsa singing key')
signing_key = ecdsa.SigningKey.generate(curve=curve)
verifying_key = signing_key.get_verifying_key()
signing_key = binascii.b2a_base64(signing_key.to_string()).decode('utf-8').strip()
verifying_key = binascii.b2a_base64(verifying_key.to_string()).decode('utf-8').strip()
print('public key information for inclusion in security.json:')
key_info = {
'id': arguments.id,
'verifying-key': {
'data': verifying_key,
'type': curve.openssl_name
}
}
print(serializers.JSON.dumps(key_info))
key_info['signing-key'] = {
'data': signing_key,
'type': curve.openssl_name
}
serializers.JSON.dump(key_info, arguments.file)
示例9: _oauth_signature
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def _oauth_signature(consumer_token, method, url, parameters={}, token=None):
"""Calculates the HMAC-SHA1 OAuth signature for the given request.
See http://oauth.net/core/1.0/#signing_process
"""
parts = urlparse.urlparse(url)
scheme, netloc, path = parts[:3]
normalized_url = scheme.lower() + "://" + netloc.lower() + path
base_elems = []
base_elems.append(method.upper())
base_elems.append(normalized_url)
base_elems.append("&".join("%s=%s" % (k, _oauth_escape(str(v)))
for k, v in sorted(parameters.items())))
base_string = "&".join(_oauth_escape(e) for e in base_elems)
key_elems = [consumer_token["secret"]]
key_elems.append(token["secret"] if token else "")
key = "&".join(key_elems)
hash = hmac.new(key, base_string, hashlib.sha1)
return binascii.b2a_base64(hash.digest())[:-1]
示例10: _oauth10a_signature
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def _oauth10a_signature(consumer_token, method, url, parameters={}, token=None):
"""Calculates the HMAC-SHA1 OAuth 1.0a signature for the given request.
See http://oauth.net/core/1.0a/#signing_process
"""
parts = urlparse.urlparse(url)
scheme, netloc, path = parts[:3]
normalized_url = scheme.lower() + "://" + netloc.lower() + path
base_elems = []
base_elems.append(method.upper())
base_elems.append(normalized_url)
base_elems.append("&".join("%s=%s" % (k, _oauth_escape(str(v)))
for k, v in sorted(parameters.items())))
base_string = "&".join(_oauth_escape(e) for e in base_elems)
key_elems = [urllib.quote(consumer_token["secret"], safe='~')]
key_elems.append(urllib.quote(token["secret"], safe='~') if token else "")
key = "&".join(key_elems)
hash = hmac.new(key, base_string, hashlib.sha1)
return binascii.b2a_base64(hash.digest())[:-1]
示例11: _aes_encrypt
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def _aes_encrypt(aes_key, aes_text) -> Text:
"""
使用密钥加密文本信息,将会自动填充空白字符
:param aes_key: 加密密钥
:param aes_text: 需要加密的文本
:return: 经过加密的数据
"""
# 初始化加密器
cipher = AES.new(_fill_16(aes_key), AES.MODE_ECB)
# 先进行aes加密
aes_encrypted = cipher.encrypt(_fill_16(aes_text))
# 使用十六进制转成字符串形式
encrypt_text = b2a_base64(aes_encrypted).decode().replace('/', '-').strip()
# 返回执行结果
return encrypt_text
示例12: OnRequest
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def OnRequest(self, microWebSrv2, request) :
if request.IsUpgrade and request.Upgrade.lower() == 'websocket' :
ver = request.GetHeader('Sec-Websocket-Version')
if ver == str(WebSockets._PROTOCOL_VERSION) :
response = request.Response
key = request.GetHeader('Sec-Websocket-Key')
if key :
try :
key += WebSockets._HANDSHAKE_SIGN
sec = sha1(key.encode()).digest()
sec = b2a_base64(sec).decode().strip()
protocols = request.GetHeader('Sec-WebSocket-Protocol')
response.SetHeader('Sec-WebSocket-Accept', sec)
if protocols and self._onWebSocketProtocol :
protocols = [x.strip() for x in protocols.split(',')]
try :
proto = self._onWebSocketProtocol(microWebSrv2, protocols)
except Exception as ex :
microWebSrv2.Log( 'Exception raised from "WebSockets.OnWebSocketProtocol" handler: %s' % ex,
microWebSrv2.ERROR )
raise ex
if proto in protocols :
response.SetHeader('Sec-WebSocket-Protocol', proto)
response.SwitchingProtocols('websocket')
WebSocket(self, microWebSrv2, request)
except :
response.ReturnInternalServerError()
else :
response.ReturnBadRequest()
# ------------------------------------------------------------------------
示例13: encode_b64
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def encode_b64(byte_arr):
encvec = []
eol = '\n'
max_unencoded = 76 * 3 // 4
s = byte_arr
for i in range(0, len(s), max_unencoded):
enc = b2a_base64(s[i:i + max_unencoded]).decode("ascii")
if enc.endswith('\n') and eol != '\n':
enc = enc[:-1] + eol
encvec.append(enc)
b64_img = ''.join(encvec)
return b64_img
示例14: encode
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def encode(input, output):
"""Encode a file; input and output are binary files."""
while True:
s = input.read(MAXBINSIZE)
if not s:
break
while len(s) < MAXBINSIZE:
ns = input.read(MAXBINSIZE-len(s))
if not ns:
break
s += ns
line = binascii.b2a_base64(s)
output.write(line)
示例15: encodebytes
# 需要导入模块: import binascii [as 别名]
# 或者: from binascii import b2a_base64 [as 别名]
def encodebytes(s):
"""Encode a bytestring into a bytestring containing multiple lines
of base-64 data."""
if not isinstance(s, bytes_types):
raise TypeError("expected bytes, not %s" % s.__class__.__name__)
pieces = []
for i in range(0, len(s), MAXBINSIZE):
chunk = s[i : i + MAXBINSIZE]
pieces.append(binascii.b2a_base64(chunk))
return b"".join(pieces)