示例#1
0
文件: db.cs 项目: RSA-PM/RSA-PM
 public long newpub(byte[] pubkey, string name)
 {
     var id1 = conn.Query<long>("select id from pubkeys order by id desc limit 1", new { });
     long id = id1.Count() == 0 ? 1 : id1.First() + 1;
     var iv = ArrayrXor(prvkey_iv, id);
     var obj = new { id = id, k = enc(pubkey, iv), n = enc(name, iv) };
     conn.Execute("insert into pubkeys(id, key, name) select @id, @k, @n", obj);
     pubkeys.Add(new Public_Keys() { id = id, key = pubkey, name = name });
     return id;
 }
示例#2
0
文件: db.cs 项目: RSA-PM/RSA-PM
        public bool newprv(byte[] prv, string name, Client client)
        {
            foreach (var v in GetPrivateKeys())
            {
                if (prv.ArraysEqual(v.key))
                {
                    return false;//already exist
                }
            }

            var id1 = conn.Query<long>("select id from prvkeys order by id desc limit 1", new { });
            long id = id1.Count() == 0 ? 1 : id1.First() + 1;
            var iv = ArrayrXor(prvkey_iv, id);
            var obj = new { id = id, k = enc(prv, iv), n = enc(name, iv), d = enc(0, iv) };
            client.RegisterPublicKey(prv, Utils.ExtractPublicKey(prv));
            conn.Execute("insert into prvkeys(id, key, name, last_date) select @id, @k, @n, @d", obj);
            prvkeys.Add(new Private_Keys() { id = id, key = prv, name = name, visit_date = 0 });
            return true;
        }