我想写一个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]).
无论如何,我无法得到它的工作。我确定我错过了一些东西,因为我在序言中很新颖。任何提示?
编辑
为了更好地解释,我想创建一个类似的条款:
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.
感谢
(Prolog的实现:在Mac SWI-序言OSX El Capitan)
嗯,我的解释很差。我的意思是我假设这段代码从“万岁和繁荣”中生成“bf1835ce984d2a97d31409394fe00e9a”,但它不(当然,我用我的短语代替“我的密码”)。感谢您通知我,我会编辑我的问题。现在清楚吗? – balanza
@Boris谢谢,我用我的外壳的全部输入和输出更新了这个问题 – balanza