密碼學系列 異或加密

2022-03-02 01:29:47 字數 925 閱讀 7201

繼續更新本系列,介紹常用的異或加密。

異或加密的原理非常簡單。

原理:

0 ^ 0 = 0

1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

就是1和1那麼得到的結果是0,0和0得到的結果是0,只有1和0或者0和1得到的結果才是1,所以叫做異或。

很多時候我們不希望我們請求的時候進行明文顯示,而又不能像密碼一樣完全是不可逆加密,有些是需要雙向的對稱加密的。

但是很多對稱加密效率還是低了點。有時候我們有些資料可能只需要簡單的加密處理,資料沒那麼重要,那麼如何處理呢?這時候就可以用上這個。

看下:

function encryption(text) 

return ;

}

上面做的就是異或加密,只是在正式環境中不要這樣寫,不規範,怎麼說呢,比如說x應該是傳入的沒有的話再做預設值,如果x的值小於text的話,那麼應該丟擲異常。。。。好吧這不是重點。

在js中,利用charcodeat獲取到charcode,然後就可以進行異或加密了,那麼後台如何寫呢?

後台解密** c#:

public static string encrypt(string str,int number)

return builder.tostring();

}

只要拿到數字後再進行一次異或就好。

原理很簡單,比如說我們的明文是1,那麼和乙個1,或者之後得到是0。如果得到是0,那麼我再次異或一次後,那麼就是0和1進行異或,得到就是1了。

上述只供原理參考,因為如果是httpget 請求的話,那麼要再次進行base64加密,否則瀏覽器自己會對一些特殊字元轉義。

如果是一些需要快速加解密且沒有什麼大的資訊保安可以使用異或加密。

該系列未結,續。

《密碼學系列》 分組密碼

繼上一期的流密碼之後,我們就趁熱打鐵趕緊來看看分組密碼是怎麼一回事呢?在常用的一些密碼系統中,分組密碼在維護系統安全中仍然扮演著乙個重要角色,同流密碼一樣,分組密碼的使用也有許許多多需要我們注意的問題。分組密碼是什麼呢?分組分組顧名思義就是將明文訊息分成組來進行加密,也就是說,加密器每次只能處理特定...

密碼學系列 加密模式和填充模式

介紹加密模式和填充模式。介紹兩種加密的模式 ecbecb electronic codebook,電子密碼本.需要加密的訊息按照塊密碼的塊大小被分為數個塊,並對每個塊進行獨立加密 優點 可以並行處理資料 缺點 同樣的原文生成同樣的密文,不能很好的保護資料 同時加密,原文是一樣的,加密出來的密文也是一...

密碼學系列 國密演算法

國密即國家密碼局認定的國產密碼演算法。主要有sm1,sm2,sm3,sm4,sm9。金鑰長度和分組長度均為128位。sm2 為非對稱加密,基於橢圓曲線密碼 ecc 的公鑰密碼演算法標準,提供數字簽名,金鑰交換,公鑰加密,用於替換rsa ecdsa ecdh等國際演算法 sm3 訊息摘要演算法,雜湊結...