关于加密和解密的方法

最近在做一个关于密码加密和解密的winform,要求对密码的TextBox输入的字符串进行加密,同时传值得时候也要解析出来,于是就写了一个demo,仅供参考。

EncryptOrDecryptPassword类包含加密和解密两个简单的方法,这个方法是根据字符的Encoding来加密的,然后在main函数中调用。

EncryptOrDecryptPassword类如下:

 1  public class EncryptOrDecryptPassword
 2     {
 3        public string DecryptPassword(string password)
 4        {
 5            try
 6            {
 7                UTF8Encoding encode = new UTF8Encoding();
 8                Decoder utf8Decode = encode.GetDecoder();
 9                byte[] decodeByte = Convert.FromBase64String(password);
10                int charCount = utf8Decode.GetCharCount(decodeByte, 0, decodeByte.Length);
11                char[] decodeChar = new char[charCount];
12                utf8Decode.GetChars(decodeByte, 0, decodeByte.Length, decodeChar, 0);
13                string result = new String(decodeChar);
14                return result;
15            }
16            catch (Exception ex)
17            {
18                throw new Exception("Error in decoding password:" + ex.Message);
19            }
20        }
21
22        public string EncryptedPwd(string password)
23        {
24            try
25            {
26                byte[] en_Data = new byte[password.Length];
27                en_Data = Encoding.UTF8.GetBytes(password);
28                string encodedData = Convert.ToBase64String(en_Data);
29                return encodedData;
30            }
31            catch (Exception ex)
32            {
33                throw new Exception("Error in encode password: " + ex.Message);
34            }
35
36        }
37     }

Program 类如下:

 1  class Program
 2     {
 3         static string inPassword = string.Empty;
 4         static string outPassword = string.Empty;
 5         static void Main(string[] args)
 6         {
 7             Console.WriteLine("Please input your password:");
 8             inPassword = Console.ReadLine();
 9             EncryptOrDecryptPassword encrytOrDecryptPassword = new EncryptOrDecryptPassword();
10             string tempPWD = encrytOrDecryptPassword.EncryptedPwd(inPassword);
11             Console.WriteLine(tempPWD);
12             outPassword = encrytOrDecryptPassword.DecryptPassword(tempPWD);
13             Console.WriteLine(outPassword);
14             Console.ReadKey();
15         }
16     }

随便输入字符串Debug:

时间: 2024-10-05 23:46:22

关于加密和解密的方法的相关文章

asp.net中实现MD5加密、解密的方法

这个MD5加密.解密的方法会使用即可. 使用时的代码备忘:Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile("要加密的字符串", "MD5")); 以下是加密.解密的代码部分: /*用法 protected void Page_Load(object sender, EventArgs e) { //加密 this.Title = CEncrypt.DesEncrypt(&qu

一个对称加密、解密的方法C#工具类

using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Security.Cryptography; namespace CMD.EDI { public class EncryptHandler { /// <summary> /// 加密字符串 /// </summary> public static string Encrypt(strin

java中进行加密和解密的方法

package com.jh.hiv.test.service.test;import java.io.UnsupportedEncodingException; import org.apache.commons.codec.digest.DigestUtils;import org.apache.commons.codec.binary.Base64;import org.junit.Test;public class test12 {    static final String TARG

编码、转码、加密、解密的方法

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法:escape("string") 返回值:已编码的 string 的副本.其中某些字符被替换成了十六进制的转义序列. 说明:该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / .其他所有的字符都会被转义序列替换. 提示:可以使用 unescape() 对 escape() 编码的字符串进行解码. 注释:ECMAScript v

02-26 ASP.NET加密解密的方法

MD5加密.解密的方法. 使用时的代码备忘:Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile("要加密的字符串", "MD5")); 以下是加密.解密的代码部分: /*用法 protected void Page_Load(object sender, EventArgs e) { //加密 this.Title = CEncrypt.DesEncrypt("pwd&

(转)DES、RSA、MD5、SHA、随机生成加密与解密

一.数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1.常用密钥算法 密钥算法用来对敏感数据.摘要.签名等信息进行加密,常用的密钥算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合: 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高: RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快: IDEA(International Data Encrypti

DES、RSA、MD5、SHA、随机生成加密与解密

一.数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1.常用密钥算法 密钥算法用来对敏感数据.摘要.签名等信息进行加密,常用的密钥算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合: 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高: RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快: IDEA(International Data Encrypti

PHP 加密 和 解密 方法

关于Discuz的加密解密函数,相信大家都有所了解,该authcode函数可以说是对PHP界作出了重大的贡献,真的发觉discuz这个函数写的太精彩啦. 研究了一下这个算法,总的来说可以归纳为以下三点: 1,动态性,同一字符串使用相同的key,每次加密的密文都不一样,而解密方法只有一个,其实就是把解密的信息放到了密文上面. 2,时效性,可以自己加一个限期参数,以秒为单位,这个其实就是在密文里加入了有效时间. 3,统一性,加密和解密都用同一个函数,而且用了比较简单的异或算法. 由于该函数具有以上功

芯片加密与芯片解密技术方法的发展史!

芯片加密与芯片解密技术方法的发展史! IC集成电路在早期,除法律和经济外,几乎没有保护措施来防止复制这些设备.例如:ROM 是用低成本的掩模技术制造的,可用EPROM 轻易复制,但后者通常要贵 3-10 倍或更多.或定制掩模ROM,那就需要很长的时间和很大的投资.工业控制器的硬件安全措施与嵌入式系统同时开始发展.40年前的可编程工业控制器是由分离的部件如 CPU,ROM,RAM,I/O 缓冲器,串口和其他通信与控制接口组成的.通用的嵌入式控制器.PCB 上的每个部件很容易辨别且极易被复制.如下图