initial commit
This commit is contained in:
parent
6335a8f743
commit
f3637d2081
21
v25/messaging/encoding.py
Normal file
21
v25/messaging/encoding.py
Normal file
@ -0,0 +1,21 @@
|
||||
from typing import Any, Optional
|
||||
|
||||
import nacl.encoding
|
||||
import nacl.utils
|
||||
|
||||
ENCODER = nacl.encoding.URLSafeBase64Encoder
|
||||
NONCE_SIZE = 32
|
||||
|
||||
|
||||
class Encoding:
|
||||
@staticmethod
|
||||
def encode(raw: Any) -> Optional[str]:
|
||||
return None if raw is None else ENCODER.encode(bytes(raw)).decode('ascii')
|
||||
|
||||
@staticmethod
|
||||
def decode(s: str) -> bytes:
|
||||
return None if s is None else ENCODER.decode(s.encode('ascii'))
|
||||
|
||||
@classmethod
|
||||
def nonce(cls):
|
||||
return nacl.utils.random(NONCE_SIZE)
|
Loading…
Reference in New Issue
Block a user