替換加密法就不會改變長度,如愷撒密碼,維吉尼亞密碼一類
『貳』 MD5,最多可把多長的字元串加密
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還廣泛用於加密和解密技術上,在很多操作系統中,用戶的密碼是以MD5值(或類似的其它演算法)的方式保存的, 用戶Login的時候,系統是把用戶輸入的密碼計算成MD5值,然後再去和系統中保存的MD5值進行比較,而系統並不「知道」用戶的密碼是什麼。
1. 可以考慮引入字元A~Z,加上0~9,形成36進制(更進一步可以大小寫敏感,加上a~z,形成62進制);
2. 將上述字元串 除以36 取余;作為個位數;上述字元串 除以36 取整,作為結果,重復本步取余計算。
3. 獲得結果。
4. 反向解析,將上述結果,分別按位數 乘以 36 ;
5. 最後合並相加,獲得原字元串。
『肆』 DES加密解密是不是對加密的字元串長度有限制
對這方面不熟,基本原理就是自己定義個運算規則,可以逆運算的。寫了個簡單的例子,大概就這樣。 String s = "abcd"; // 加密 char[] chs = s.toCharArray(); for (int i = 0; i < chs.length; i++) { chs[i] = (char) (chs[i] ^ '0'); } // 解
『伍』 MD5加密最長允許多少位元組的字元串
MD5加密後的值是128bit的,按4位二進制組合成一個十六進制,所以最後出來的十六進制字元串是32個,比如。
要說被MD5加密的字元串,是沒有限制的。
『陸』 aes如何加密任意長度字元串
aes-ctr模式就可以,不用對齊
『柒』 超長字元串如何加密
可以用DES或3DES加密,速度還是比較快的
『捌』 有什麼演算法把一個字元串加密為固定長度並可以解密
將任意長度字元串加密成定長字元串是可能的,但逆向解密是不可能的。 可以加密為可變長度的字元串再解密,或者也可以將一定長度范圍內的字元串加密為定長字元串並解密。
『玖』 md5加密以後的字元串長度
加密後為128位(bit),按照16進制(4位一個16進制數)編碼後,就成了32個字元。MD5並不是加密演算法,而是摘要演算法。加密演算法是可逆的,摘要演算法是理專論上不可逆的,詳細步驟:
1、md5演算法主要應用在密碼領域,為了防止明文傳輸密碼的危險性,一般會用密碼的md5值來代替密碼本身。
『拾』 java 對稱加密,不固定長度加密成固定長度密文
你好:
剛剛幫你查了下,所有的帖子,項目例子表示:
目前了解的經典加密(如對稱加密DES,AES,非對稱加密RSA)雖然可逆,但結果長度都是不定的,除非是 固定長度字元串轉固定長度密文