Пример #1
0
def main():
    parser = argparse.ArgumentParser(
        description=
        'Algoritmo de criptografia RSA simplificado - Criptografia a partir de P e Q'
    )
    parser.add_argument('-k',
                        action='store',
                        dest='key',
                        required=True,
                        help='Deve possuir dois primos',
                        type=int,
                        nargs='+')
    parser.add_argument('-t',
                        action='store',
                        dest='text',
                        required=True,
                        help='Texto para ser criptografado',
                        type=type_message)
    parser.add_argument('-p',
                        action='store',
                        dest='path',
                        help='Local para salvar o relatório',
                        type=type_dir_path)
    parser.add_argument('--is-number',
                        dest='type',
                        action='store_true',
                        help='Tipo da criptografia é para números')
    parser.add_argument('--is-text',
                        dest='type',
                        action='store_false',
                        help='Tipo da Criptografia é para textos')
    parser.set_defaults(type=True)
    args = parser.parse_args()
    if args.path:
        args.path = str(args.path)
    else:
        args.path = ''
    is_prime(args.key[0])
    is_prime(args.key[1])
    key_length(args.text, args.key[0], args.key[1])
    message_length(args.text)
    with open(args.path + 'report.json', 'w') as outfile:
        if args.type:
            json.dump(set_context_key_encrypt_decrypt_number(
                args.text, args.key[0], args.key[1]),
                      outfile,
                      indent=4)
        else:
            json.dump(set_context_key_encrypt_decrypt_string(
                args.text, args.key[0], args.key[1]),
                      outfile,
                      indent=4)
Пример #2
0
 def test_key_length_string_sucess(self):
     self.assertIsNone(key_length(self.char, self.p, self.q))
Пример #3
0
 def test_key_length_string_raise(self):
     with self.assertRaises(Exception) as context:
         key_length(self.char, self.p_raise, self.q_raise)
     self.assertTrue(LENGTH_KEY_EXCEPTION in str(context.exception))
Пример #4
0
 def test_key_length_number_sucess(self):
     self.assertIsNone(key_length(self.number, self.p, self.q))