2009-04-06 4 views
4

Система аутентификации для приложения, которое мы используем прямо сейчас, использует двухсторонний хеш, который в основном немного больше, чем прославленный цезарский шифр. Не вдаваясь в подробности о том, что с ним происходит, я бы хотел заменить его более безопасным алгоритмом шифрования (и это нужно сделать на стороне сервера). К сожалению, он должен быть двухсторонним, и алгоритмы в хэшлибе все односторонние.Какая хорошая двусторонняя библиотека шифрования реализована в Python?

Каковы хорошие библиотеки шифрования, которые будут включать в себя алгоритмы для такого рода вещей?

+0

«Алгоритмы в хэшлибе все односторонние» - это вопрос определения. Хеши определяются как односторонние. В идеале, ТОЛЬКО односторонний, хотя некоторые могут быть отменены. Возможно, вы должны перефразировать свой вопрос. –

ответ

7

Если это двусторонний, это не «хэш». Это шифрование (и от звуков вещей это действительно больше «соль» или «шифр», не настоящее шифрование.) Хэш в одностороннем порядке по определению. Поэтому вместо того, чтобы что-то вроде MD5 или SHA1, вам нужно искать что-то большее, чем PGP.

Во-вторых, вы можете объяснить аргументы в пользу требования 2-way? Обычно это не считается хорошей практикой для систем аутентификации.

+2

Это связано с тем, что приложение, предоставляемое поставщиком, имеет странные требования к внешней аутентификации. Но вы убедили меня, что нам нужно работать с этим поставщиком, чтобы найти лучший способ. –

20

Предполагаю, что вам нужен алгоритм шифрования, а не хэш. Библиотека PyCrypto предлагает довольно широкий спектр возможностей. Это в середине перехода к new maintainer, поэтому документы немного дезорганизованы, но this примерно то, где вы хотите начать искать. Обычно я использую AES для таких вещей.

+0

Я проголосовал? Я почти уверен, что это именно то, что он ищет. – DNS

+1

+1: Я не вижу причины, по которой вы тоже проголосовали бы за это. –

+0

+1: не предположение, вопрос определения. Разрыв двухстороннего хеша. –

Смежные вопросы