• 大小: 39KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: 其他
  • 标签: 异或  C#  字符串  

资源简介

实现字符串数据的异或,字符串为8倍数长度,不足为补足0

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace StrXor
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private byte[] str2Bcd2(string asc)
        {
            int m = 0;
            ulong l = Convert.ToUInt64(asc);
            byte[] t1 = new byte[8];
            for (m = 0; m < 8; m++)
            {
                if (l < 256)
                {
                    t1[m] = (byte)l;
                    break;
                }
                else
                {
                    t1[m] = (byte)(l % 256);
                    l = (l - t1[m]) / 256;
                }
            }
            int lg = 0;
            if (asc.Length % 2 != 0)
            {
                lg = asc.Length / 2 + 1;
            }
            else
            {
                lg = asc.Length / 2;
            }
            byte[] t2 = new byte[lg];
            Array.Copy(t1 0 t2 0 lg);
            Array.Reverse(t2);
            return t2;
        }


        private  byte[] str2Bcd(String asc)
        {
            int len = asc.Length;
            int mod = len % 2;

            if (mod != 0)
            {
                asc = “0“ + asc;
                len = asc.Length;
            }

            byte[] abt = new byte[len];
            if (len >= 2)
            {
                len = len / 2;
            }

            byte[] bbt = new byte[len];
            abt = System.Text.Encoding.Default.GetBytes(asc);
            int j k;

            for (int p = 0; p < asc.Length / 2; p++)
            {
                if ((abt[2 * p] >= ‘0‘) && (abt[2 * p] <= ‘9‘))
                {
                    j = abt[2 * p] - ‘0‘;
                }
                else if ((abt[2 * p] >= ‘a‘) && (abt[2 * p] <= ‘z‘))
                {
                    j = abt[2 * p] - ‘a‘ + 0x0a;
                }
                else
                {
                    j = abt[2 * p] - ‘A‘ + 0x0a;
                }

                if ((abt[2 * p + 1] >= ‘0‘) && (abt[2 * p + 1] <= ‘9‘))
                {
                    k = abt[2 * p + 1] - ‘0‘;
                }
                else if ((abt[2 * p + 1] >= ‘a‘) && (abt[2 * p + 1] <= ‘z‘))
                {
                    k = abt[2 * p + 1] - ‘a‘ + 0x0a;
                }
                else
                {
                    k = abt[2 * p + 1] - ‘A‘ + 0x0a;
                }

                int a = (j << 4) + k;
                byte b = (byte)a;
                bbt[p] = b;
            }
            return bbt;
        }


        private  byte[] HexStringToByteArray(string s)
        {
            s = s.Replace(“ “ ““);
            s = s.Replace(“=“ “D“);
            if (s.Length % 2 != 0) s = “0“ 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-09-07 14:27  异或\
     目录           0  2012-09-07 14:27  异或\StrXor\
     目录           0  2012-09-07 14:27  异或\StrXor\StrXor\
     文件         907  2012-09-07 10:34  异或\StrXor\StrXor.sln
     文件       12800  2012-09-07 11:29  异或\StrXor\StrXor.suo
     目录           0  2012-09-07 14:27  异或\StrXor\StrXor\bin\
     目录           0  2012-09-07 14:27  异或\StrXor\StrXor\bin\Debug\
     文件       20480  2012-09-07 11:22  异或\StrXor\StrXor\bin\Debug\StrXor.exe
     文件       28160  2012-09-07 11:22  异或\StrXor\StrXor\bin\Debug\StrXor.pdb
     文件        5632  2005-11-11 22:25  异或\StrXor\StrXor\bin\Debug\StrXor.vshost.exe
     文件        4632  2012-09-07 11:22  异或\StrXor\StrXor\Form1.cs
     文件        4059  2012-09-07 10:42  异或\StrXor\StrXor\Form1.Designer.cs
     文件        5814  2012-09-07 10:42  异或\StrXor\StrXor\Form1.resx
     目录           0  2012-09-07 14:27  异或\StrXor\StrXor\obj\
     目录           0  2012-09-07 14:27  异或\StrXor\StrXor\obj\Debug\
     目录           0  2012-09-07 14:27  异或\StrXor\StrXor\obj\Debug\Refactor\
     文件         842  2012-09-07 11:20  异或\StrXor\StrXor\obj\Debug\StrXor.csproj.GenerateResource.Cache
     文件       20480  2012-09-07 11:22  异或\StrXor\StrXor\obj\Debug\StrXor.exe
     文件         180  2012-09-07 11:20  异或\StrXor\StrXor\obj\Debug\StrXor.Form1.resources
     文件       28160  2012-09-07 11:22  异或\StrXor\StrXor\obj\Debug\StrXor.pdb
     文件         180  2012-09-07 11:20  异或\StrXor\StrXor\obj\Debug\StrXor.Properties.Resources.resources
     目录           0  2012-09-07 14:27  异或\StrXor\StrXor\obj\Debug\TempPE\
     文件         701  2012-09-07 11:29  异或\StrXor\StrXor\obj\StrXor.csproj.FileListAbsolute.txt
     文件         465  2012-09-07 10:34  异或\StrXor\StrXor\Program.cs
     目录           0  2012-09-07 14:27  异或\StrXor\StrXor\Properties\
     文件        1170  2012-09-07 10:34  异或\StrXor\StrXor\Properties\AssemblyInfo.cs
     文件        2868  2012-09-07 10:34  异或\StrXor\StrXor\Properties\Resources.Designer.cs
     文件        5612  2012-09-07 10:34  异或\StrXor\StrXor\Properties\Resources.resx
     文件        1091  2012-09-07 10:34  异或\StrXor\StrXor\Properties\Settings.Designer.cs
     文件         249  2012-09-07 10:34  异或\StrXor\StrXor\Properties\Settings.settings
     文件        3219  2012-09-07 10:43  异或\StrXor\StrXor\StrXor.csproj
............此处省略0个文件信息

评论

共有 条评论