/// <summary>读取密钥</summary> /// <param name="file">文件</param> /// <param name="generate">是否生成</param> /// <returns></returns> public Boolean ReadKey(String file, Boolean generate = false) { if (file.IsNullOrEmpty()) { return(false); } file = file.GetFullPath(); if (File.Exists(file)) { Key = File.ReadAllText(file); if (!Key.IsNullOrEmpty()) { return(true); } } if (!generate || !file.EndsWithIgnoreCase(".prvkey")) { return(false); } var ss = DSAHelper.GenerateKey(); File.WriteAllText(file.EnsureDirectory(true), ss[0]); file = Path.ChangeExtension(file, ".pubkey"); File.WriteAllText(file, ss[1]); Key = ss[0]; return(true); }
private void btnDSA_Click(Object sender, EventArgs e) { var buf = GetBytes(); var key = rtPass.Text; if (key.Length < 100) { key = DSAHelper.GenerateKey().First(); rtPass.Text = key; } buf = DSAHelper.Sign(buf, key); SetResult(buf); }
private void btnDSA_Click(Object sender, EventArgs e) { var buf = GetBytes(); var key = rtPass.Text; if (key.Length < 100) { key = DSAHelper.GenerateKey().First(); rtPass.Text = key; } buf = DSAHelper.Sign(buf, key); rtResult.Text = buf.ToHex() + Environment.NewLine + Environment.NewLine + buf.ToBase64(); }