mirror of
https://github.com/remnawave/python-sdk.git
synced 2026-05-13 12:16:42 +00:00
feat: Add support happ crypt version 4 (happ://crypt4)
This commit is contained in:
parent
f1503b2fda
commit
577ac6f4ff
1 changed files with 25 additions and 2 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import base64
|
||||
from typing import Literal
|
||||
|
||||
from cryptography.hazmat.primitives import hashes, serialization
|
||||
from cryptography.hazmat.primitives.asymmetric import padding
|
||||
|
|
@ -20,10 +21,32 @@ VE0tje7twWXL5Gb1sfcXRzsCAwEAAQ==
|
|||
-----END PUBLIC KEY-----
|
||||
"""
|
||||
|
||||
HAPP_PUBLIC_KEY_V4 = b"""
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA3UZ0M3L4K+WjM3vkbQnz
|
||||
ozHg/cRbEXvQ6i4A8RVN4OM3rK9kU01FdjyoIgywve8OEKsFnVwERZAQZ1Trv60B
|
||||
hmaM76QQEE+EUlIOL9EpwKWGtTL5lYC1sT9XJMNP3/CI0gP5wwQI88cY/xedpOEB
|
||||
W72EmOOShHUm/b/3m+HPmqwc4ugKj5zWV5SyiT829aFA5DxSjmIIFBAms7DafmSq
|
||||
LFTYIQL5cShDY2u+/sqyAw9yZIOoqW2TFIgIHhLPWek/ocDU7zyOrlu1E0SmcQQb
|
||||
LFqHq02fsnH6IcqTv3N5Adb/CkZDDQ6HvQVBmqbKZKf7ZdXkqsc/Zw27xhG7OfXC
|
||||
tUmWsiL7zA+KoTd3avyOh93Q9ju4UQsHthL3Gs4vECYOCS9dsXXSHEY/1ngU/hjO
|
||||
WFF8QEE/rYV6nA4PTyUvo5RsctSQL/9DJX7XNh3zngvif8LsCN2MPvx6X+zLouBX
|
||||
zgBkQ9DFfZAGLWf9TR7KVjZC/3NsuUCDoAOcpmN8pENBbeB0puiKMMWSvll36+2M
|
||||
YR1Xs0MgT8Y9TwhE2+TnnTJOhzmHi/BxiUlY/w2E0s4ax9GHAmX0wyF4zeV7kDkc
|
||||
vHuEdc0d7vDmdw0oqCqWj0Xwq86HfORu6tm1A8uRATjb4SzjTKclKuoElVAVa5Jo
|
||||
oh/uZMozC65SmDw+N5p6Su8CAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
"""
|
||||
|
||||
def create_happ_crypto_link(content: str) -> str:
|
||||
|
||||
|
||||
def create_happ_crypto_link(content: str, method: Literal["v3", "v4"] = "v4") -> str:
|
||||
try:
|
||||
public_key = serialization.load_pem_public_key(HAPP_PUBLIC_KEY_V3)
|
||||
happ_methods = {
|
||||
"v3": HAPP_PUBLIC_KEY_V3,
|
||||
"v4": HAPP_PUBLIC_KEY_V4,
|
||||
}
|
||||
public_key = serialization.load_pem_public_key(happ_methods[method.lower()])
|
||||
|
||||
encrypted = public_key.encrypt(
|
||||
content.encode("utf-8"), padding.PKCS1v15() # RSA_PKCS1_PADDING
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue