Я пытаюсь написать md5
предикат, который проверяет следующее:Пролог: md5 предикат
md5("my string", "my md5").
Экземпляр истина такого предиката будет
md5("long live and prosper", "bf1835ce984d2a97d31409394fe00e9a").
Я посмотрел в документы, и я нашел: http://www.swi-prolog.org/pldoc/doc_for?object=crypt/2
?- phrase("$1$", E, _),
crypt("My password", E),
format('~s~n', [E]).
в любом случае, я не могу заставить его работать. Я уверен, что у меня что-то не хватает, поскольку я совершенно новый в прологе. Любой намек?
EDIT
Для лучшего объяснения, я предполагаю создать положение, похожее на это:
md5(P, M):-
phrase("$1$", E, _),
crypt(P, E),
name(M, E),
format('~s~n', [E]).
?- md5("long live and prosper", "bf1835ce984d2a97d31409394fe00e9a").
$1$AtnbRJvB$cZ4gZvG2Glelv8hfWztcY/
false.
Благодарности
(реализация Прологе: SWI-Пролог на Mac OSX El Capitan)
Ну, мои объяснения были очень плохими. Я имел в виду, что я предполагаю, что этот фрагмент для генерации «bf1835ce984d2a97d31409394fe00e9a» из «долгого живого и процветающего», но это не так (конечно, я использую свою фразу вместо «Мой пароль»). Спасибо, что заметили меня, я отредактирую свой вопрос. Так понятно? – balanza
@Boris спасибо, я обновил вопрос с полными вводами и выводами из моей оболочки – balanza