Криптографические функции в Python

Криптографические функции в Python

Криптографические функции в Python

Шифрование данных-краеугольный камень программирования. Поэтому и в Python
существуют специальные криптографические функции для шифрования, дешифрования и подписания
данных
.

Далее на примерах я покажу Вам как используются имеющиеся в Python функции
из пакета hashlib.

Примеры запускаются в бесплатной версии интегрированной среды разработки PyСharm:



# импортируем библиотеку

import hashlib



# строки для тестирования

sample1 = """

    раз два три четыре пять, вышел зайчик погулять

"""



sample2 = """

    строка вторая для тестирования криптографических функций в питоне

"""



# выводит все алгоритмы, которые можно использовать

def all_algorithms():

    # алгоритмы, которые обязательно будут присутствовать

    guaranteed = ', '.join(hashlib.algorithms_guaranteed)



    # алгоритмы которые доступны

    available = ', '.join(hashlib.algorithms_available)



    print(f'Гарантированные алгоритмы: n {guaranteed} n')

    print(f'Доступные алгоритмы: n {available} n')





# хэш md5

def md5_hash():

    # тестовая строка строка

    str1 = sample1.encode('utf8')

    # получаем функцию от библиотеки

    md5 = hashlib.md5()

    # генерируем хэш-строку

    md5.update(str1)

    # возвращаем результат в виде шестнадцатеричного представления

    md5_hash_str = md5.hexdigest()

    print(f'md5 хэш для строки sample_1: {md5_hash_str}n')





def sha1_hash():

    # тестовая строка строка

    str1 = sample1.encode('utf8')

    # получаем функцию от библиотеки

    sha1 = hashlib.sha1()

    # генерируем хэш-строку

    sha1.update(str1)

    # возвращаем результат в виде шестнадцатеричного представления

    sha1_hash_str = sha1.hexdigest()

    print(f'sha1 хэш для строки sample_1: {sha1_hash_str}n')





# данная функция получает алгоритм из параметра и создает на его основе экземпляр алгоритма

def create_hash_by_algorithm_name(algo_name='sha256'):

    # получаем ссылку на алгоритм по имени

    algo = hashlib.new(algo_name)

    algo.update(sample1.encode('utf8'))

    print(f'{algo_name} хэш для строки sample_1: {algo.hexdigest()}n')





if __name__ == '__main__':

    all_algorithms()

    md5_hash()

    sha1_hash()

    create_hash_by_algorithm_name()



Таким образом, вот такие развитые возможности представляет Python для работы с криптографическими функциями.

Источник

НЕТ КОММЕНТАРИЕВ

Оставить комментарий