c#文本加密程序代码示例



控件滚动方法:

代码如下:

//具体方法
//Movegroup(string u, Panel p1, Panel p2)
//Movegroup(方向<或>,被移走的控件,被移入的控件)
//注意还要添加两个timer :Return,Next , Interval = 10
        public void Movegroup(string u, Panel p1, Panel p2)
        {
            if (u == ">")     //这是向右,
            {
                up1 = p1;
                up2 = p2;
                p2.Visible = true;
                p1.Enabled = false;
                p2.Enabled = false;
                Next.Enabled = true;
            }
            if (u == "<")
            {
                up1 = p1;
                up2 = p2;
                p2.Visible = true;
                p1.Enabled = false;
                p2.Enabled = false;
                Return.Enabled = true;
            }
        }
        Panel up1, up2;
        int a = 0;
        int b = -580;
        int i = 0;
        int j = 580;
        private void Next_Tick(object sender, EventArgs e)
        {
            i -= 30;
            j -= 30;
            up1.Location = new Point(i, up1.Location.Y);
            up2.Location = new Point(j, up2.Location.Y);
            if (i <= -580 || j <= 0)
            {
                Next.Enabled = false;
                up2.Enabled = true;
                up1.Enabled = false;
                up1.Visible = false;
                i = 0;
                j = 580;
            }
        }
        private void Return_Tick(object sender, EventArgs e)
        {
            a += 30;
            b += 30;
            up1.Location = new Point(a, up1.Location.Y);
            up2.Location = new Point(b, up2.Location.Y);
            if (a >= 580 || b >= 0)
            {
                Return.Enabled = false;
                up2.Enabled = true;
                up1.Visible = false;
                up1.Enabled = false;
                a = 0;
                b = -580;
            }
        }

加密原理:

密码+问题+答案的md5 +“/”+加密后的串 组成一个文本文件,(二进制更好了)

解密原理:

先分离出文件里的 密码+问题+答案的md5在与用户输入的密码+问题+答案的md5对比

如果相符则 以此密码解密文件

如果不相符则 提示密码问题及答案错误

我使用DES加密,这是一个类

代码如下:

namespace Pd_kernel
{
    public class Encrypt
    {
        /// <summary>
        /// 进行DES加密。
        /// </summary>
        /// <param name="pToEncrypt">要加密的字符串。</param>
        /// <param name="sKey">密钥,且必须为8位。</param>
        /// <returns>以Base64格式返回的加密字符串。</returns>
        public static string DESEncrypt(string pToEncrypt, string sKey)
        {
            using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
            {
                byte[] inputByteArray = Encoding.UTF8.GetBytes(pToEncrypt);
                des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
                des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
                {
                    cs.Write(inputByteArray, 0, inputByteArray.Length);
                    cs.FlushFinalBlock();
                    cs.Close();
                }
                string str = Convert.ToBase64String(ms.ToArray());
                ms.Close();
                return str;
            }
        }

/// <summary>
        /// 进行DES解密。
        /// </summary>
        /// <param name="pToDecrypt">要解密的以Base64</param>
        /// <param name="sKey">密钥,且必须为8位。</param>
        /// <returns>已解密的字符串。</returns>
        public static string DESDecrypt(string pToDecrypt, string sKey)
        {
            byte[] inputByteArray = Convert.FromBase64String(pToDecrypt);
            using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
            {
                des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
                des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))
                {
                    cs.Write(inputByteArray, 0, inputByteArray.Length);
                    cs.FlushFinalBlock();
                    cs.Close();
                }
                string str = Encoding.UTF8.GetString(ms.ToArray());
                ms.Close();
                return str;
            }
        }

public static string MD5encrypt(string text, string method)
        {
            string strMD5 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(text, method);
            return strMD5;
        }
    }
}

(0)

相关推荐

  • c#多种加解密示例(md5加密解密)

    复制代码 代码如下: using System;using System.Collections.Generic;using System.Globalization;using System.IO;using System.Security.Cryptography;using System.Text; /// <summary>/// 加解密/// </summary>public static class CryptHelper{    #region RSA加密 /// &

  • C#文件加密方法汇总

    本文实例汇总了C#文件加密方法.分享给大家供大家参考.具体实现方法如下: 1.AES加密类 复制代码 代码如下: using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Utils {     /// <summary>     /// AES加密解密     /// </summary>     public class AES     {   

  • c# rsa注册实现加密文字

    复制代码 代码如下: RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); private void btencoding_Click(object sender, EventArgs e){    if (mbox.Text == "")    {        MessageBox.Show("加密文字信息不能为空!");        return;    }    if (publick

  • C#实现数据包加密与解密实例详解

    在很多项目中,为了安全安全考虑,需要对数据包进行加密处理,本文实例所述的即为C#加密代码,在应用开发中有很大的实用价值.说起数据包加密,其实对C#编程者来说,应该是一个基础的技巧,是进行C#程序设计人员必须要掌握的技能. C#实现加密功能的核心代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; usin

  • C#对称加密与非对称加密实例

    本文实例讲述了C#对称加密与非对称加密的原理与实现方法,分享给大家供大家参考.具体分析如下: 一.对称加密(Symmetric Cryptography) 对称加密是最快速.最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key).对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中. 对称加密通常使用的是相对较小的密钥,一般小于256 bit.因为密钥越大,加密越强,但加密与解密的过程越慢.如果你只用1 b

  • c#实现md5加密示例

    复制代码 代码如下: public static string  EncryptWithMD5(string source)    {        byte [] sor=Encoding.UTF8.GetBytes(source);        MD5 md5=MD5.Create();        byte [] result= md5.ComputeHash(sor);        StringBuilder strbul=new StringBuilder(40);       

  • C#为配置文件加密的实现方法

    本文实例讲述了C#为配置文件加密的实现方法,分享给大家供大家参考.具体实现方法如下: 一般来说,在web.config或app.config文件里我们经常会存储一些敏感信息,比如connectionStrings或者appSettings,比如像下面的文件. 复制代码 代码如下: <?xml version="1.0"?> <configuration>     <system.web>       <compilation debug=&qu

  • C#实现最简单的文本加密方法

    本文实例讲述了C#实现最简单的文本加密方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: private char[] TextEncrypt(string content, string secretKey) {     char[] data = content.ToCharArray();     char[] key = secretKey.ToCharArray(); for (int i = 0; i < data.Length; i++)     {       

  • C#加密解密类实例程序

    前两年写的东西,现在整理一下发出来!以前公司需要做WebService,并且对WebService的SoapHeader进行加密,所以就写了这么个东东!使用这个类,需要密钥管理!为了保证数据的安全性往往要对数据进行加密,但是加密的缺点之一,就是影响程序的运行效率,所以,当时我的思路是只对用户的登录信息(用户名,密码)进行加密!数据用明文传输,用户信息验证没有通过的情况下, 不进行数据传输.实际在网络通讯中,使用密钥匙的方式并非无懈可击,如果黑客可以捕捉到用密钥加密的,用户验证信息,然后,做个模拟

  • C#使用伪随机数实现加密用户密码的方法

    本文所述实例为使用伪随机数进行用户密码加密,这段代码为核心部分主要代码,需要配合其它的程序实现,感兴趣的读者可以自己进一步加以完善,不费话了,下面列出主要代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.

  • 基于私钥加密公钥解密的RSA算法C#实现方法

    本文实例讲述了基于私钥加密公钥解密的RSA算法C#实现方法,是一种应用十分广泛的算法.分享给大家供大家参考之用.具体方法如下: 一.概述 RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作. RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一.RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价. RSA的安全性依赖于大数分解.公钥和私钥都是两个大素数( 大于 1

  • C#常用字符串加密解密方法封装代码

    复制代码 代码如下: //方法一//须添加对System.Web的引用//using System.Web.Security;/// <summary>/// SHA1加密字符串/// </summary>/// <param name="source">源字符串</param>/// <returns>加密后的字符串</returns>public string SHA1(string source){    r

  • asp实现的sha1加密解密代码(和C#兼容)

    在百度找的几个asp sha1(vbs写的)加密结果和asp.net的sha1加密结果不一样,asp.net sha1加密完后是40位,网上找的asp sha1加密是64位,还以为asp.net做了截取(如网上的asp的md5机密和asp.net位数不一样,是做了截取的问题),但是asp的64位加密结果并没有包含asp.net的40位结果,看来找到的版本和asp.net的加密算法不一样.   最后还是靠翻墙用google找到了一个js版本的sha1加密代码结合asp使用后结果和asp.net的s

随机推荐