Initial commit
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
import json
|
||||
import sys
|
||||
|
||||
from cli.parse_args import parse_args
|
||||
|
||||
|
||||
def main() -> int:
|
||||
args = parse_args()
|
||||
|
||||
try:
|
||||
if args.cmd == "keygen":
|
||||
# Класс для режима генерации ключей
|
||||
from modes.keygen import KeygenMode
|
||||
|
||||
runner = KeygenMode()
|
||||
result = runner.run(
|
||||
p=args.p,
|
||||
q=args.q,
|
||||
min=args.min,
|
||||
max=args.max,
|
||||
bits=args.bits,
|
||||
seed=args.seed,
|
||||
)
|
||||
|
||||
elif args.cmd == "encrypt":
|
||||
# Класс для режима шифрования
|
||||
from modes.encrypt import EncryptMode
|
||||
|
||||
runner = EncryptMode()
|
||||
result = runner.run(
|
||||
text=args.text,
|
||||
m=args.m,
|
||||
n=args.n,
|
||||
e=args.e,
|
||||
)
|
||||
|
||||
elif args.cmd == "decrypt":
|
||||
# Класс для режима расшифрования
|
||||
from modes.decrypt import DecryptMode
|
||||
|
||||
runner = DecryptMode()
|
||||
result = runner.run(
|
||||
c=args.c,
|
||||
n=args.n,
|
||||
d=args.d,
|
||||
)
|
||||
|
||||
elif args.cmd == "auto":
|
||||
from modes.auto import AutoMode
|
||||
runner = AutoMode()
|
||||
result = runner.run(
|
||||
text=args.text,
|
||||
m=args.m,
|
||||
p=args.p,
|
||||
q=args.q,
|
||||
min=args.min,
|
||||
max=args.max,
|
||||
bits=args.bits,
|
||||
seed=args.seed,
|
||||
)
|
||||
|
||||
else:
|
||||
raise RuntimeError(f"Неизвестная команда: {args.cmd}")
|
||||
|
||||
# Печать результата, если он что-то возвращает
|
||||
if result is not None:
|
||||
if isinstance(result, (dict, list)):
|
||||
print(json.dumps(result, ensure_ascii=False, indent=2))
|
||||
else:
|
||||
print(result)
|
||||
|
||||
return 0
|
||||
|
||||
except Exception as exc:
|
||||
print(f"Ошибка: {exc}", file=sys.stderr)
|
||||
return 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user