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