newlisp 使用crypto模块

先从这里下载crypto.lsp文件:http://www.newlisp.org/code/modules/crypto.lsp.html

然后在Ubuntu12.04/12.10 amd64下安装需要的库:

apt-get install libssl0.9.8


之后创建一个链接:

ln -s /lib/x86_64-linux-gnu/libcrypto.so.0.9.8 /usr/lib/

32位系统的话执行下面的命令:

sudo ln -s /lib/i386-linux-gnu/libcrypto.so.0.9.8 /usr/lib/

有时候会碰到没有0.9.8版本的库可以安装,只有1.0.0版本。可以先安装,然后用ln伪造成0.9.8版本。

ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.0.9.8



现在启动newlisp交互环境,试一下:

 (load "crypto.lsp")
(lambda (crypto:str crypto:raw-flag) 
 (if crypto:raw-flag 
  (let (crypto:buff (dup "\000" 20)) 
   (cpymem (crypto:RIPEMD160 crypto:str (length crypto:str) 0) crypto:buff 20) crypto:buff) 
  (join (map (lambda (crypto:x) (format "%02x" (& crypto:x 255))) (unpack (dup "c" 
      20) 
     (crypto:RIPEMD160 crypto:str (length crypto:str) 0))))))
> (crypto:md5 "ABC")
"902fbdd2b1df0c4f70b4a5d23525e932"



你可能感兴趣的:(crypto,NewLisp)