Меня попросили разработать бэк-офис компании для iPad, и при разработке экрана входа в систему я столкнулся с проблемой в процессе аутентификации.
Пароли соединены солью,хэшируется с использованием SHA-256 и сохраняется в базе данных.Бэк-офис основан на Flash и использует библиотеку as3crypto для хэширования, затем пароля + соли, и моя проблема заключается в том, что текущая реализация использует Base64 для ввода и вывода.
Этот сайт демонстрирует, как это можно сделать: просто выберите Hash, выберите Base64 для формата ввода и вывода и выполните запуск.До сих пор все мои попытки дали результаты, отличные от тех, которые дает мне этот сайт (и код backoffice).
Хотя я думаю, что в теории это должно быть относительно просто:
- Base64 кодирует пас + соль
- Хеширует его, используя SHA-256
- Base64 снова кодирует результат
, пока я не смог этого сделатьи, честно говоря, у меня болит голова.Мой код становится живым лабиринтом, я должен буду переделать его завтра, я думаю.
Есть идеи?Приветствия и заранее спасибо
PS: Вот код Flash от Backoffice для генерации хешированных паролей:
var currentResult:ByteArray;
var hash:IHash = Crypto.getHash('sha256');
var data:ByteArray = Base64.decodeToByteArray(str + vatel);
currentResult = hash.hash(data);
return Base64.encodeByteArray(currentResult).toString();