using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Base64 { /**/ ///
/// Summary description for clsBase64. /// public class clsBase64 { private char[] source; private char[] lookupTable; private int length, length2, length3; private int blockCount; private int paddingCount; static void Main(string[] args) { clsBase64 nn = new clsBase64(); char[] s2 = { 'd','o','w','n','.','s','a'}; char[] s1 = nn.CreateBase64Char(ref s2); foreach (char i in s1) { Console.WriteLine(i); } Console.ReadKey(); } public clsBase64() { // // TODO: Add constructor logic here // source = null; length = length2 = length3 = 0; blockCount = 0; paddingCount = 0; } /**/ ///
/// Create base64 char array using default base64 char array /// ///
///
return the new base64 char array private char[] CreateBase64Char(ref char[] CreatePara) { char[] BaseTable = new char[64]{ 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z', 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', '0','1','2','3','4','5','6','7','8','9','+','/'}; const int CREATE_TYPE = 8; byte bParavalue = 0; byte bTemp; for (int i = 0; i < CreatePara.Length; i++) { bTemp = (byte)(CreatePara[i]); switch (bTemp % CREATE_TYPE) { case 1: // 00000001 bTemp = (byte)(bTemp ^ 0x01); break; case 2: // 00000010 bTemp = (byte)(bTemp ^ 0x02); break; case 3: // 00000100 bTemp = (byte)(bTemp ^ 0x04); break; case 4: // 00001000 bTemp = (byte)(bTemp ^ 0x08); break; case 5: // 00010000 bTemp = (byte)(bTemp ^ 0x10); break; case 6: // 00100000 bTemp = (byte)(bTemp ^ 0x20); break; case 7: /...