Exemple #1
0
        /// <summary>
        /// 读取公钥(进过des加密)
        /// </summary>
        /// <param name="key">传出字节类型的公钥</param>
        /// <param name="file">要读的文件名</param>
        public void ReadpublicKey(out byte[] key, string file)
        {
            string[] str = File.ReadAllLines(file, Encoding.Default);
            desKey   des = new desKey();

            key = strToToHexByte(des.Decrypt(str[0], "abcdefgh"));
        }
Exemple #2
0
        /// <summary>
        /// 读取私钥(进过des加密)
        /// </summary>
        /// <param name="prikey">传出大数类型的私钥</param>
        /// <param name="file">文件名</param>
        public void Readprikey(out BigInteger prikey, string file)
        {
            string[] str = File.ReadAllLines(file, Encoding.Default);
            desKey   des = new desKey();

            prikey = new BigInteger(des.Decrypt(str[0], "abcdefgh"), 16);
        }
Exemple #3
0
 /// <summary>
 /// 经过des加密后、写入秘钥(用户名pri.txt)
 /// </summary>
 /// <param name="userKey">公钥</param>
 /// <param name="file">要写入的文件名</param>
 public void WriterKey(string userKey, string file)
 {
     try
     {
         string     path = file;
         FileStream Ali;
         desKey     des = new desKey();
         Ali = new FileStream(path, FileMode.Create, FileAccess.Write);//创建写入文件
         StreamWriter sr = new StreamWriter(Ali);
         sr.WriteLine(des.Encrypt(userKey, "abcdefgh"));
         // MessageBox.Show("\r\n公钥长度:" + userKey.Length);
         sr.Close();
     }
     catch (Exception ee)
     {
         MessageBox.Show("ecc类异常 2\r\n" + ee.ToString());
     }
 }
Exemple #4
0
        /// <summary>
        /// 经过des加密后、写入秘钥(用户名pri.txt)
        /// </summary>
        /// <param name="userD">秘钥</param>
        /// <param name="file">要写入的文件名</param>
        public void WriterKey(BigInteger userD, string file)
        {
            try
            {
                string     path = file;
                FileStream Ali;
                file       fi  = new file();
                desKey     des = new desKey();

                Ali = new FileStream(path, FileMode.Create, FileAccess.Write); //创建写入文件
                StreamWriter sr = new StreamWriter(Ali);
                string       ss = des.Encrypt(userD.ToString(16), "abcdefgh"); //des加密,"abcdefgh"为加密随机数

                sr.WriteLine(ss);                                              //写入文件


                sr.Close();
            }
            catch (Exception ee)
            {
                MessageBox.Show("ecc类异常 1\r\n" + ee.ToString());
            }
        }
Exemple #5
0
        /// <summary>
        /// 将rs写入一个文件下(不经过des加密)
        /// </summary>
        /// <param name="r">R</param>
        /// <param name="s">S</param>
        /// <param name="rsfile">rs要存入的文件夹路径</param>
        public void Writers(BigInteger r, BigInteger s, string rsfile)//写入r,s,签名者公钥,用于验证
        {
            try
            {
                FileStream Ali;
                string     path = rsfile;
                desKey     des  = new desKey();
                Ali = new FileStream(path, FileMode.Create, FileAccess.Write);//创建写入文件
                StreamWriter sr = new StreamWriter(Ali);

                //RS
                sr.Write(r.ToString(16));//开始写入值
                sr.Write("#");
                sr.Write(s.ToString(16));
                sr.Close();
            }
            catch (Exception ss)
            {
                MessageBox.Show("写入RS时出错!\r\n" + ss.ToString());

                throw;
            }
        }