❶ 誰可以告訴我md5加密原理
MD5的全稱是Message-Digest Algorithm 5,在90年代初由MIT的計算機科學實驗室和RSA Data Security Inc發明,經MD2、MD3和MD4發展而來。
Message-Digest泛指位元組串(Message)的Hash變換,就是把一個任意長度的位元組串變換成一定長的大整數。請注意我使用了「位元組串」而不是「字元串」這個詞,是因為這種變換只與位元組的值有關,與字元集或編碼方式無關。
MD5將任意長度的「位元組串」變換成一個128bit的大整數,並且它是一個不可逆的字元串變換演算法,換句話說就是,即使你看到源程序和演算法描述,也無法將一個MD5的值變換回原始的字元串,從數學原理上說,是因為原始的字元串有無窮多個,這有點象不存在反函數的數學函數。
MD5的典型應用是對一段Message(位元組串)產生fingerprint(指紋),以防止被「篡改」。舉個例子,你將一段話寫在一個叫readme.txt文件中,並對這個readme.txt產生一個MD5的值並記錄在案,然後你可以傳播這個文件給別人,別人如果修改了文件中的任何內容,你對這個文件重新計算MD5時就會發現。如果再有一個第三方的認證機構,用MD5還可以防止文件作者的「抵賴」,這就是所謂的數字簽名應用。
MD5還廣泛用於加密和解密技術上,在很多操作系統中,用戶的密碼是以MD5值(或類似的其它演算法)的方式保存的,用戶Login的時候,系統是把用戶輸入的密碼計算成MD5值,然後再去和系統中保存的MD5值進行比較,而系統並不「知道」用戶的密碼是什麼。
一些黑客破獲這種密碼的方法是一種被稱為「跑字典」的方法。有兩種方法得到字典,一種是日常搜集的用做密碼的字元串表,另一種是用排列組合方法生成的,先用MD5程序計算出這些字典項的MD5值,然後再用目標的MD5值在這個字典中檢索。
即使假設密碼的最大長度為8,同時密碼只能是字母和數字,共26+26+10=62個字元,排列組合出的字典的項數則是P(62,1)+P(62,2)….+P(62,8),那也已經是一個很天文的數字了,存儲這個字典就需要TB級的磁碟組,而且這種方法還有一個前提,就是能獲得目標賬戶的密碼MD5值的情況下才可以。
在很多電子商務和社區應用中,管理用戶的Account是一種最常用的基本功能,盡管很多Application Server提供了這些基本組件,但很多應用開發者為了管理的更大的靈活性還是喜歡採用關系資料庫來管理用戶,懶惰的做法是用戶的密碼往往使用明文或簡單的變換後直接保存在資料庫中,因此這些用戶的密碼對軟體開發者或系統管理員來說可以說毫無保密可言,本文的目的是介紹MD5的java Bean的實現,同時給出用MD5來處理用戶的Account密碼的例子,這種方法使得管理員和程序設計者都無法看到用戶的密碼,盡管他們可以初始化它們。但重要的一點是對於用戶密碼設置習慣的保護。
有興趣的讀者可以從這里取得MD5也就是RFC 1321的文本。http://www.ietf.org/rfc/rfc1321.txt
❷ 圖片加密怎麼破解
你的這種方法是EFS加密,EFS加密是系統自帶的加密方式,一個系統用戶對文件加密後,只有以該用戶的身份登陸才能讀取該文件。EFS加密的文件和文件夾名字顏色是綠色,或者在該文件或文件夾的高級屬性是加密屬性。
重裝系統後,雖然用戶名還是相同用戶名,但是證書變了就無法打開了。
加密文件的話推薦使用加密軟體超級加密3000進行加密,加密後如果忘記密碼還可以使用密碼找回的功能找回的
❸ 這種加密是用什麼加密的有解密途徑嗎
通常有以下三種加密:
1、%E5%8A%A0%E5%AF%86
2、%u52A0%u5BC6
3、以OlOlll開頭,整篇看起來滿是數字。
第一種是通過URI方法加密的,這樣的加密代碼前都會發現有這樣一個單詞:decodeURI或者decodeURIcomponent。
第二種是通過escape方法加密的,這樣的加密代碼前都有單詞:unescape。
第三種是以ASCII碼替代代碼的方法加密的,加密代碼的內部都有這個單詞:eval。
下面我來解釋一下為什麼三種方法裡面肯定含有上一段我所說的單詞。
因為這些代碼是被加密了的,而電腦在讀取這些代碼的時候它應該怎麼做呢?是顯示加密的代碼呢,還是顯示本來代碼應該顯示的效果?很顯然加密者想讓電腦顯示的是效果。所以在加密的代碼前後加入了 unescape('加密代碼') ——[PS:這里以unescape舉例,各個方法對應的單詞上一段已經說了]。加入這個的涵義是叫電腦將加密的內容翻譯出來,然後顯示效果。
所以我們只要在 unescape('加密代碼')前後加入為 document.write(unescape(加密代碼))——[PS:第3種加密比較特殊,不是在eval前後加document.write(),而是直接將eval換成document.write]。這句的意思就是叫電腦(將「加密的內容翻譯出來」的代碼顯示出來)。當然,腳本是不能直接運行顯示的,所以我們要將其放到網頁中才能顯示。簡單的來說就是用記事本寫下:
<script>
document.write(unescape(加密代碼));
</script>
然後保存為「文件名.htm」或「文件名.html」,再打開保存的這張網頁,你看到的就是解密後的代碼了。
不過有一點,這樣解開密的代碼因為瀏覽器無法讀取換行符,所以你看到的解密代碼是沒有換行的。大家可以自己製作一個簡單的解密頁面,用記事本復制下面的代碼
<form name="code_" method="post" target="_blank">
<textarea name="pp1" rows="10" cols="80"></textarea><br>
<INPUT TYPE="button" ONCLICK="pp2.innerText=escape(pp1.innerText)" VALUE="編碼">
<INPUT TYPE="button" ONCLICK="pp2.innerText=unescape(pp1.innerText)" VALUE="解碼"><br>
<textarea name="pp2" rows="10" cols="80"></textarea>
</form>
然後保存為「文件名.htm」或「文件名.html」,再打開這張網頁就可以實現簡單的加密和解密了。紅色部分的字我不說你也該知道該怎麼做相應的替換了吧?PS:不過第3種加密的方法不能用這個網頁來解,第3種加密方法裡面含有一個ASCII碼的換算公式,我就不多說了,免得說不清楚又來問我了。對於這種加密,大家就按上面說的將eval替換成document.write來做好了。第3種的加密方法大家可以到下面的地址下載加密軟體進行加密:
http://kimhyunjung.blogbus.com/logs/2006/01/1853118.html(請務必仔細看清楚軟體說明)
PS:本文對其它所有針對javascript腳本代碼的加密進行解密同樣有效
❹ 求en或者em開頭的英文單詞
Email 電子信函
Eman 埃曼
emanation散發
enable 使能夠
enact 扮演
encage 禁閉
enclose 裝入
encircle 圍繞
enclasp 抱緊
encoder 解碼器
encomiast 阿諛者
encrypt 加密
entertain 娛樂
entertaining 愉快的