zoukankan      html  css  js  c++  java
  • c# 如何利用异或运算进行简单加密解密

    利用“^”异或运算对字符串进行加密

    原理:按位做“异或”运算是->位值相同得1,不同得0,如下计算

    1 ^ 1 = 0

    1 ^ 0 = 1

    0 ^ 1 = 1

    0 ^ 0 = 0

     

    例如:

    < 加密过程:>

    原解释的二进制为          1  1  0  0   ----原文

    设定的key的二进制为     0  1  1  0  ----密钥

    两者做“异或”结果为    0  1  0  1 ----密文

    < 解密过程:>

                                          0  1  0  1 ----密文

                 0  1  1  0  ----密钥

    两者“异或”就得到了  1  1  0  0 ----原文

    使用c# 实现如下:

      /// <summary>
            /// 异或的加密解密
            /// </summary>
            /// <param name="str">原文/密文字符串</param>
            /// <returns>原文/密文字符串</returns>
            public static string BCutEncrypt(string str)
            {
                char emblem = '
    ';//密钥
                StringBuilder buffer = new StringBuilder();
                char[] chars = str.ToCharArray();
                foreach(char ch in chars)
                {
                    char temp = (char)(ch ^ emblem);
                    buffer.Append(temp);
                }
                return buffer.ToString();
            }
    

     

  • 相关阅读:
    常用的Dos命令
    关于CSS3
    数据渲染
    jQuery中的AJAX
    AJAX
    面向对象3
    克隆对象、对象继承
    面向对象2
    面向对象1
    面向对象
  • 原文地址:https://www.cnblogs.com/yxhblog/p/7207883.html
Copyright © 2011-2022 走看看