Sekuvo
اردو

لفافہ → QR

یہ صفحہ پہلے سے مرمز شدہ Sekuvo لفافے کو ایسے QR فریمز میں بدلتا ہے جنہیں آپ کا فون اسکین کر سکے۔ یہ کوئی خفیہ کاری نہیں کرتا اور کبھی راز نہیں مانگتا: لفافہ آپ اپنی ہی مشین پر بناتے ہیں، اور یہاں صرف مرمز شدہ متن پیسٹ ہوتا ہے۔

سب سے محتاط راستہ اب بھی ڈاؤن لوڈ کیا ہوا aktar.html ہے، جو اپنی ڈسک سے کھولا جائے۔ یہ صفحہ اس صورت کے لیے ہے جب آپ اپنے ٹرمینل میں مرمز کریں اور آپ کو صرف QR دکھانے کی ضرورت ہو۔

1 · لفافہ اپنی ہی مشین پر بنائیں

نیچے دیا اسکرپٹ بالکل وہی لفافہ بناتا ہے جو ایپ کھولتی ہے (PBKDF2-HMAC-SHA256 · 310,000 راؤنڈز + AES-256-GCM)۔ اسے zarf-uret.py کے نام سے محفوظ کریں اور چلانے سے پہلے پڑھیں — تقریباً تیس سطریں۔ پاس ورڈ خود گھڑنے کے بجائے جنریٹ کریں؛ پہلا کمانڈ یہی کرتا ہے۔

# macOS / Linux
# generate a password (letters+digits, ~119 bits):
python3 -c "import secrets,string; print(''.join(secrets.choice(string.ascii_letters+string.digits) for _ in range(20)))"

pip3 install cryptography
python3 zarf-uret.py "Server SSH" > zarf.json   # paste the secret, then Ctrl-D
pbcopy < zarf.json                              # macOS; Linux: xclip -sel clip < zarf.json
# Windows (PowerShell)
# generate a password (letters+digits, ~119 bits):
python -c "import secrets,string; print(''.join(secrets.choice(string.ascii_letters+string.digits) for _ in range(20)))"

pip install cryptography
python zarf-uret.py "Server SSH" > zarf.json    # paste the secret, then Ctrl-Z + Enter
Get-Content zarf.json | Set-Clipboard
#!/usr/bin/env python3
# zarf-uret.py - reads the secret from stdin, writes a Sekuvo envelope to stdout.
# Usage: python3 zarf-uret.py "Title" > zarf.json   (paste the secret, then Ctrl-D)
# Requires: pip install cryptography
import sys, os, json, time, base64, hashlib, getpass
from cryptography.hazmat.primitives.ciphers.aead import AESGCM

title = sys.argv[1] if len(sys.argv) > 1 else "Transfer"
secret = sys.stdin.read()
# The app refuses entries above 256 KB; say so here instead of after the scan.
assert len(secret.encode()) <= 256 * 1024, "secret is over 256 KB, the app will not import it"
password = getpass.getpass("Envelope password (ASCII, generated): ")
assert password.isascii() and len(password) >= 8, "ASCII and at least 8 characters"

now = int(time.time() * 1000)
payload = json.dumps({"entries": [{
    "type": "NOTE", "title": title,
    "createdAt": now, "updatedAt": now, "quick": False,
    "data": {"notes": secret},
}]}, ensure_ascii=False)

salt = os.urandom(16)
key = hashlib.pbkdf2_hmac("sha256", password.encode(), salt, 310_000, 32)
iv = os.urandom(12)
blob = iv + AESGCM(key).encrypt(iv, payload.encode(), None)
print(json.dumps({
    "app": "vault", "version": 1,
    "kdf": {"algo": "PBKDF2WithHmacSHA256", "iterations": 310_000,
            "salt": base64.b64encode(salt).decode()},
    "cipher": "AES-256-GCM",
    "data": base64.b64encode(blob).decode(),
}))

راز کو کمانڈ لائن پر ٹائپ کرنے کے بجائے اسکرپٹ کے ان پٹ میں پیسٹ کریں — یوں وہ کبھی آپ کی شیل ہسٹری میں نہیں جاتا۔

2 · لفافہ پیسٹ کریں

3 · فون پر

Sekuvo → + → QR کے ذریعے درآمد کریں → فریم اسکین کریں → وہی پاس ورڈ درج کریں → موجودہ میں شامل کریں۔

← sekuvo.com پر واپس