HighTechTalks DotNet Forums  

RijndaelManaged's question, how can I encrypt text more than 16bytes

Dotnet Security microsoft.public.dotnet.security


Discuss RijndaelManaged's question, how can I encrypt text more than 16bytes in the Dotnet Security forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
Sam Shi
 
Posts: n/a

Default RijndaelManaged's question, how can I encrypt text more than 16bytes - 03-16-2007 , 05:42 AM






Hi, I'm using RijndaelManaged to encrypt data.

Encode method is

public static string DecodeText(string encryptext, string key, byte[]
machinekey)
{
byte[] bufencrypt = S_Misc.HexStringToByteArray(encryptext);
byte[] bufkey = S_Misc.HexStringToByteArray(key);

RijndaelManaged myRijndael = new RijndaelManaged();
ICryptoTransform decryptor = myRijndael.CreateDecryptor(bufkey,
machinekey);

MemoryStream msDecrypt = new MemoryStream(bufencrypt);
CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor,
CryptoStreamMode.Read);

StreamReader sr = new StreamReader(csDecrypt);
return sr.ReadToEnd();


}

public static string EncodeText(string text, string key, byte[]
machinekey)
{
byte[] bufpass = Encoding.ASCII.GetBytes(text);
byte[] bufkey = S_Misc.HexStringToByteArray(key);
byte[] buffer = null;


RijndaelManaged myRijndael = new RijndaelManaged();

ICryptoTransform encryptor = myRijndael.CreateEncryptor(bufkey,
machinekey);

MemoryStream msEncrypt = new MemoryStream();
CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor,
CryptoStreamMode.Write);

csEncrypt.Write(bufpass, 0, bufpass.Length);
csEncrypt.FlushFinalBlock();

buffer = msEncrypt.ToArray();

return S_Misc.ByteArrayToHexString(buffer);

}



test method:

string key = "12345678901234567890123456789012";
string mkey = "09876543210987654321098765432101";
string zkey = "00000000000000000000000000000000";

byte[] bmkey = S_Misc.HexStringToByteArray(mkey);
byte[] zmkey = S_Misc.HexStringToByteArray(zkey);


string entxt0 = EncodeText("12345678",key,bmkey);
string entxt1 = EncodeText("123456781234",key,bmkey);
string entxt2 = EncodeText("1234567812345678",key,bmkey);
string entxt3 = EncodeText("123456781234567812345678",key,bmkey);
string entxt4 = EncodeText("12345678123456781234567812345678",key, bmkey);
string entxt5 =
EncodeText("12345678123456781234567812345678123456 78",key,bmkey);
string entxt6 =
EncodeText("12345678123456781234567812345678123456 7812345678",key,bmkey);

string detxt0 = DecodeText(entxt0,key,zmkey);
string detxt1 = DecodeText(entxt1,key,zmkey);
string detxt2 = DecodeText(entxt2,key,zmkey);
string detxt3 = DecodeText(entxt3,key,zmkey);
string detxt4 = DecodeText(entxt4,key,zmkey);
string detxt5 = DecodeText(entxt5,key,zmkey);
string detxt6 = DecodeText(entxt6,key,zmkey);

entxt0 "9A5653C0957DFE7364AB2BC6E4F8CD56" string
entxt1 "D6D0D00A3560A95C2A4F33B764E5B002" string
entxt2 "0E7EC566DE6BC1889A0D81DE518B402DF00DD1E16370C35B1 9719D8D870EB29F"
string
entxt3 "0E7EC566DE6BC1889A0D81DE518B402D4A85DD6DB6736C47B 3F62AD3A425006D"
string
entxt4
"0E7EC566DE6BC1889A0D81DE518B402DC5E87043FBA92D9FB 2C88861B451C4B456624F675057E5C8F5A5AA0CC554C878"
string
entxt5
"0E7EC566DE6BC1889A0D81DE518B402DC5E87043FBA92D9FB 2C88861B451C4B405550148A876CB65DBE40C71DDDBCFB6"
string
entxt6
"0E7EC566DE6BC1889A0D81DE518B402DC5E87043FBA92D9FB 2C88861B451C4B4D3D5E88E9F070699CFE6CED4951BCECAA27 03B46DBE4D6A03B2D71C204580886"
string
detxt0 "8Vw?" string
detxt1 "8Vw?]r:" string
detxt2 "8Vw?]r:Pu9" string
detxt3 "8Vw?]r:Pu912345678" string
detxt4 "8Vw?]r:Pu91234567812345678" string
detxt5 "8Vw?]r:Pu9123456781234567812345678" string
detxt6 "8Vw?]r:Pu912345678123456781234567812345678" string

Note: I use deferent IV to EncodeText,DecodeText
The results show if a text's length is more than 16 bytes, only the first 16
bytes are well encrypted.
I want to know , how can I encrypt the rest text?


Thanks in advance for any reply!
Sam





Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.