Пару дней назад возник вопрос написать небольшое приложение под Win32. Решил заодно глянуть, куда ушёл прогресс разработки :) Будучи старым любителем Delphi копал именно в этом направлении. Уличил так и замечательную компанию Embarcadero, которая, вероятно будет портить кровь будущим и нынешним разработчикам :)
Незамедлительно слил себе Embarcadero Delphi XE4 (here) Firemonkey
... - сорри, по ссылке уже 5-й релиз (всё за ваши бабки)
Удивился, `да, нет, не знаю`.. - Страшное лингвистическое сочетание для америкосов и европейцев, как я слышал..
С одной стороны нет, я не удивился: масса нового, присутствует некая вертикаль развития, в частности мультиплатформенность. Об этом можно было только мечтать лет так 5-10 назад ;)
Реализация как всегда где-то далеко от остины.. К моему глубокому сожалению, это уже давно принято считать как правило в отношении всего и всех..
Сорри за лирику, но я начал писать небольшой проект Firemonkey и столкнулся с массой неприятностей, о которых, видимо, нужно писать скорпулёзно в формате отчётов, однако сейчас опишу первую проблему, с которой я столкнулся - это md5 hash ... При чём таким образом, что в PHP я получаю одно значение хеша, в Delphi другое.. Долго думал, предположил, что это из-за перехода Delphi на UTF. Не сильно логичное объяснение, но факт проблемы остался.
Так как информации в сети по FMX очень мало (мягко сказно), буду постить свои типичные беды и их решения тут, в надежде, что это кому-то поможет. Попробуем сделать это через TIdHashMessageDigest..
Итак MD5 Delphi XE4 FireMonkey:
====================================================
Uses IdHashMessageDigest;
procedure TForm1.Button1Click(Sender: TObject);
var
md5indy: TIdHashMessageDigest;
hashpw: string;
begin
md5indy:=TIdHashMessageDigest5.Create;
hashpw:=lowercase(md5indy.HashStringAsHex('your-string'));
===================================================end;
hashpw - в этом случае реальный MD5 hash, который совпадает с хешированием, скажем в PHP, MySQL ...
Комментариев нет:
Отправить комментарий