<MyRusakov.ru />

Программирование на C++ с Нуля до Гуру

Программирование на C++ с Нуля до Гуру

Данный курс научит Вас программировать на языке C++, который, несмотря на свой почтенный возраст, необычайно сильно востребован. Курс состоит из 6 разделов, посмотрев которые и выполнив все упражнения, Вы с нуля освоите этот язык и сможете создавать самые разные проекты любой сложности на C++.

Для закрепления материала из уроков к ним идёт множество упражнений.

Дополнительно к курсу идёт вспомогательная система, которая не даст Вам забросить начатое на полпути.

Также вместе с курсов Вы получаете Бонус "Программирование на C++ в Unreal Engine", в котором Вы научитесь создавать игры на C++ с использованием этого движка.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Криптографические функции в 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 для работы с криптографическими функциями.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.