DES encryption
Using System.Security.Cryptography;
As with AES, we only know the usage of the ECB CBC CFB Model
Static classMydes {Staticpaddingmode[] padding ={PADDINGMODE.PKCS7, paddingmode.ansix923, paddingmode.iso10126, PADDINGM Ode. None, Paddingmode.zeros}; Static Public stringEncrypt (stringMessage,stringKeystringIV, Ciphermode Mode,intpad) { Try { byte[] Keybytes =Encoding.UTF8.GetBytes (key); byte[] Keyiv =Encoding.UTF8.GetBytes (IV); byte[] Inputbytearray =Encoding.UTF8.GetBytes (Message); DESCryptoServiceProvider Desprovider=NewDESCryptoServiceProvider (); //Java default is the ECB mode, pkcs5padding;c# the default CBC mode, pkcs7padding so here we use the ECB way by defaultDesprovider.mode =Mode; Desprovider.padding=Padding[pad]; MemoryStream Memstream=NewMemoryStream (); CryptoStream Crypstream=NewCryptoStream (Memstream, Desprovider.createencryptor (Keybytes, Keyiv), cryptostreammode.write); Crypstream.write (Inputbytearray,0, inputbytearray.length); Crypstream.flushfinalblock (); returnconvert.tobase64string (Memstream.toarray ()); } Catch{MessageBox.Show ("Encryption failed"); return ""; } } Static Public stringDecrypt (stringMessage,stringKeystringIV, Ciphermode Mode,intpad) { Try { byte[] Keybytes =Encoding.UTF8.GetBytes (key); byte[] Keyiv =Encoding.UTF8.GetBytes (IV); byte[] Inputbytearray =convert.frombase64string (Message); DESCryptoServiceProvider Desprovider=NewDESCryptoServiceProvider (); //Java default is the ECB mode, pkcs5padding;c# the default CBC mode, pkcs7padding so here we use the ECB way by defaultDesprovider.mode =Mode; Desprovider.padding=Padding[pad]; MemoryStream Memstream=NewMemoryStream (); CryptoStream Crypstream=NewCryptoStream (Memstream, Desprovider.createdecryptor (Keybytes, Keyiv), cryptostreammode.write); Crypstream.write (Inputbytearray,0, inputbytearray.length); Crypstream.flushfinalblock (); returnEncoding.Default.GetString (Memstream.toarray ()); } Catch{MessageBox.Show ("Decryption failed"); return ""; } } }Mydes
C # DES