本帖最后由 Gu_xl 于 2011-3-17 21:56 编辑
回复 nzl1116 的帖子
 - ;;;差不多是这个意思,提供一对加密和解密的函数供参考
- ;;;加密函数
- (defun crypt (min_wen mi_yao / min_wen_lst mi_yao_lst mi_wen mi_wen_si)
- (if (= 'STR (type min_wen))
- (SETQ min_wen (vl-string->list min_wen))
- )
- (if (= 'STR (type mi_yao))
- (SETQ mi_yao (vl-string->list mi_yao))
- )
- (while (< (length mi_yao) (length min_wen))
- (setq
- mi_yao (APPEND mi_yao mi_yao) )
- )
- (setq min_wen_lst min_wen)
- (setq mi_yao_lst mi_yao)
- (setq i% 0
- mi_wen nil)
- (repeat (length min_wen_lst)
- (progn
- (setq mi_wen_si (boole 6 (nth i% min_wen_lst) (nth i% mi_yao_lst)))
- (setq mi_wen (append mi_wen (list mi_wen_si)))
- (setq i% (1+ i%))
- );_progn
- );_repeat
- (VL-LIST->STRING mi_wen )
- )
- ;;;解密函数
- (defun uncrypt (mi_wen mi_yao / min_wen)
- (setq mi_yao (vl-string->list mi_yao))
- (setq min_wen (crypt (VL-STRING->LIST mi_wen) mi_yao))
- )
- ;;;加密测试
- ;(setq cryptText (crypt "fdfgdf的法国德国的法国大范甘迪\fgfg\n大哥大哥" "测试密码"))
- ;;;返回: "詥Шw/\005Js.v\036{\021\007&}|z&v\030\005Tr\036v\023詤繾0d%_AZ-"
- ;;;解密测试
- ;(uncrypt cryptText "测试密码")
- ;;;返回:"fdfgdf的法国德国的法国大范甘迪fgfg\n大哥大哥"
|