Bài viết mới

[C#] Hướng dẫn sử dụng thuật toán mã hóa và giải mã Atom-128 algorithm

[C#] Hướng dẫn sử dụng thuật toán mã hóa và giải mã Atom-128 algorithm
Đăng bởi: Thảo meo - Lượt xem: 464 08:15:31, 30/03/2018CSHARP   In bài viết

Trong các bài viết trước mình đã hướng dẫn các bạn sử dụng rất nhiều thuật toán mã hóa: Md5, RSA, DES, AES, Binary, SHA...

Bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn sử dụng một thuật toán mã hóa nữa là thuật toán mã hóa Atom-128 C#.

Mình sẽ chia sẽ hai hàm cho các bạn sử dụng:

1. Source code hàm Encode Atom-128

public static string Atom128Encode(string input)
{
    string key = "/128GhIoPQROSTeUbADfgHijKLM+n0pFWXY456xyzB7=39VaqrstJklmNuZvwcdEC";
    StringBuilder result = new StringBuilder();
 
    int i = 0;
    int[] indexes = new int[4];
    int[] chars = new int[3];
 
    do
    {
        chars[0] = i + 1 > input.Length ? 0 : (int)input[i++];
        chars[1] = i + 2 > input.Length ? 0 : (int)input[i++];
        chars[2] = i + 3 > input.Length ? 0 : (int)input[i++];
 
        indexes[0] = chars[0] >> 2;
        indexes[1] = ((chars[0] & 3) << 4) | (chars[1] >> 4);
        indexes[2] = ((chars[1] & 15) << 2) | (chars[2] >> 6);
        indexes[3] = chars[2] & 63;
 
        if ((char)chars[1] == 0)
        {
            indexes[2] = 64;
            indexes[3] = 64;
        }
        else if ((char)chars[2] == 0)
        {
            indexes[3] = 64;
        }
 
        foreach (int index in indexes)
        {
            result.Append(key[index]);
        }
    }
    while (i < input.Length);
 
    return result.ToString();
}

2. Hàm giải mã thuật toán Atom-128

public static string Atom128Decode(string input)
{
    string key = "/128GhIoPQROSTeUbADfgHijKLM+n0pFWXY456xyzB7=39VaqrstJklmNuZvwcdEC";
    StringBuilder result = new StringBuilder();
 
    int[] indexes = new int[4];
    int[] chars = new int[3];
    int i = 0;
 
    do
    {
        indexes[0] = key.IndexOf(input[i++]);
        indexes[1] = key.IndexOf(input[i++]);
        indexes[2] = key.IndexOf(input[i++]);
        indexes[3] = key.IndexOf(input[i++]);
 
        chars[0] = (indexes[0] << 2) | (indexes[1] >> 4);
        chars[1] = (indexes[1] & 15) << 4 | (indexes[2] >> 2);
        chars[2] = (indexes[2] & 3) << 6 | indexes[3];
 
        result.Append((char)chars[0]);
 
        if (indexes[2] != 64)
            result.Append((char)chars[1]);
 
        if (indexes[3] != 64)
            result.Append((char)chars[2]);
    }
    while (i < input.Length);
 
    return result.ToString();
}
Usage:

3. Cách sử dụng thuật toán

string encodedString = Atom128Encode("http://laptrinhvb.net"); 

string decodedString = Atom128Decode(encodedString);

HAVE FUN :)

[C#] Hướng dẫn sử dụng thuật toán mã hóa và giải mã Atom-128 algorithm
Đăng bởi: Thảo meo - Lượt xem: 464 08:15:31, 30/03/2018CSHARP   In bài viết

THẢO LUẬN BÀI VIẾT

PHẦN MỀM LẤY TIN BẤT ĐỘNG SẢN

phần mềm lấy tin tự động bất động sản

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.