日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

中望lisp加密_alisp文件加密测试.LSP

發布時間:2023/12/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 中望lisp加密_alisp文件加密测试.LSP 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

alisp文件加密測試.LSP

(2012-02-26 17:02:35)

標簽:

四柱液壓機

娛樂

alisp文件加密測試.LSP

最后修改時間: ;|alisp文件加密的探索AutoLISP保護文件的格式

AutoCAD雖然沒有提供加密、解密AutoLISP的工具軟件,但其本身卻可以接收兩種格式的LISP文件.一種是保護格式的;另一種是文本格式的.讀入文件后,AutoCAD首先會作出判斷,一旦確定文件是保護格式的,則在加載該程序前,自動將加密文件代碼予以還原,然后再讀入命令解釋器.下面我們來看看AutoLISP保護格式文件的格式.起始地址及終止地址(Bytes)

功能 0-29 保護文件的標識字符串計30Bytes,為"AutoCAD PROTECTED

LISP file\0x0D\0x0A\0x1A". 30 密碼字符,只有一個字節. 31及以后

已加密的程序碼.注意:前30個字節用戶不得改動; 第30位是密碼字母,龍門液壓機,用戶可以任意給定,譬如字母'A';

第31位起可由附錄程序經過加密計算后寫入文件.**加密與解密的原理**

加密與解密的一個重要工具是"按位異或(^)運算".其作用是判斷兩運算量相應位的值是否"相異",若為異,則為1,否則為0.即:0^0=0;0^1=1;1^0=1;1^1=0.因其具有雙向轉換、還原的能力,四柱三梁,故在密碼學上得到廣泛應用.讓我們來看看:

A|01000001 8|00111000 ^y|01111001 ^A|01000001 8|00111000

y|01111001上式中0x41='A'、0x79='y'、0x38='8',

'A'^'y'='8';'8'^'A'='y';'y'^'8'='A'. 可以看出按位異或運算具有雙向轉換、還原的能力.

AutoCAD在加密、解密時,除了運用上述方法外,四柱液壓機,另外還使用了一個技巧,就是移位運算,

將被轉換字符的8個位全部左移一位,相當于將該整數乘以2,若最高位是1(移位后>256),

則將溢出位1移至最末位,否則用0代替末位,這樣就保證了加密碼與原代碼一一對應.我們假設用函數F表示這一運算過程.----字符0x96,二進制為10010110,則F(0x96)=F(10010110)=00101101=0x2D.----我們用下面兩個算式,三梁四柱油壓機,來說明加密、解密的具體過程,式中各符號的意義:A0->B=A^B;A-B=F(A)^B;A/B=F(A)^B;各字符均以16進制表示,假設密碼字母是'A'(0x41).原始程序碼為:(PRINC)加密過程如下:----(princ)

-> 28 70 72 69 6E 63 29 具體過程為: 1、0x41^0x28=0x69;

(按位異或) 2、F(0x69)=0xD2; (移位運算) 3、0xD2^0x70=0xA2; (按位異或)

2、F(0xA2)=0x45; (移位運算) 3、0x45^0x72=0x37;結果(69 A2 37 07 60 A3

6E)解密過程如下:----41->

69-A2-37-76-0A-36-ED-hh(依次類推)----287072696E6329結果(PRINC)具體過程為:1、0x41^0x69=0x28;(字符'(')2、F(0x69)=0xD2;3、0xD2^0xA2=0x70;(字符'p')hh|功能:定義函數,實現

左移一位操作;|;;測試:(setq lst (vl-string->list

"(princ)lst 65)|;(defun F+ (INT / TMP) ;;先轉換成二進制

(setq TMP (DEG->BIN INT)) ;;補齊為 8 位(while

(< (strlen TMP) 8) (setq TMP (strcat

"0" TMP)) ) ;;將首位移動到末位 (setq TMP

(strcat (substr TMP 2 7) (substr TMP 1 1))) ;;返回

(BIN->DEG TMP)功能:仿autolisp加密文本(defun ++++ (LST

KEYSCI / LST1 N TMP) (setq LST1 foreach N LST (progn 異或操作 (setq TMP

(boole 6 KEYSCI N)) (setq LST1 (cons TMP LST1)計算下一個 密匙 (setq KEYSCI

(F+ TMP)返回 ;;(vl-list->string (reverse LST1))

(reverse LST1)解密;;; (defun ---- (LST KEYSCI / LST1 N TMP) (setq

LST1 foreach N LST (progn 異或操作 (setq TMP (boole 6 KEYSCI N)) (setq

LST1 (cons TMP LST1)計算下一個 秘匙 (setq KEYSCI (F+ N)返回

;;(vl-list->string (reverse LST1)) (reverse

LST1)defun C:TT1 (/ STR LST FF N) ;; (setq STR

"(PRINC

\"OK\")") (setq

LST (vl-string->list STR)) (setq LST (++++ LST 65))

;;寫入文件 (setq FF (open

"d:\\test\\test.txt"

"w")) (foreach N LST (write-char

N FF) ) (close FF) (princ)defun C:TT2 (/ LST FF TMP N) (setq LST

'()) ;;讀文件 (setq FF (open

"d:\\test\\test.txt"

"r")) (while (setq TMP (read-char

FF)) (setq LST (cons TMP LST)) ) (close FF) ;; (setq LST (----

(reverse LST) 65)) (princ (vl-list->string LST))

(princ)加入文件頭(defun C:TT3 (/ LST FF TMP N I) (setq LST '()) ;;讀文件

(setq FF (open

"d:\\test\\test.txt"

"r")) (while (setq TMP (read-char

FF)) (setq LST (cons TMP LST)) ) (close FF) ;;寫入文件 (if (setq FF

(open "d:\\test\\test.lsp"

"w")) (progn ;;寫入文件頭 (foreach N

(vl-string->list "AutoCAD PROTECTED

LISP file") (write-char N FF) ) (write-char 13 FF)

(write-char 10 FF) (write-char 26 FF) ;;寫入 (write-char 65 FF)

;;寫入文件內容 (setq STR "(alert

\"測試成功\")(PRINC

\"OK\")") (setq

LST (vl-string->list STR)) (setq LST (++++ LST 65))

(foreach N LST (write-char N

FF)princ)十進制轉化為二進制;;;例如:(deg->bin 3)

返回"11";;;

(deg->bin 5)

返回"101"(defun

DEG->BIN (INT / A B) (if (< INT 1)

"0" (if (= INT 1)

"1" (progn (setq A (/ INT 2) B (-

INT (* A 2)) ) (strcat (DEG->BIN A) (itoa

B)二進制轉化為十進制;;;例如:(bin->deg

"11") 返回 3;;;

(deg->bin "101")

返回 5(defun BIN->DEG (STR) (if (<=

(strlen STR) 1) (if (= STR "1") 1

0 ) (if (= (substr STR 1 1) "1")

(+ (expt 2 (- (strlen STR) 1)) (BIN->DEG (substr STR

2)) ) (BIN->DEG (substr STR 2)) ) ))

分享:

喜歡

0

贈金筆

加載中,請稍候......

評論加載中,請稍候...

發評論

登錄名: 密碼: 找回密碼 注冊記住登錄狀態

昵???稱:

評論并轉載此博文

發評論

以上網友發言只代表其個人觀點,不代表新浪網的觀點或立場。

總結

以上是生活随笔為你收集整理的中望lisp加密_alisp文件加密测试.LSP的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。