日韩av专区,国产高清对白,亚洲品精乱码久久久久久,成人国产精品久久久春色,国产人妖ts重口系列网站观看,国产91亚洲精品久久久,国产精品久久久久久久娇妻

威勢網(wǎng)絡(luò),為您的企業(yè)和團(tuán)隊注入互聯(lián)網(wǎng)活力!
服務(wù)熱線:138-9741-0341

【原創(chuàng)】 RSA對文件進(jìn)行簽名操作

發(fā)布日期:2022/11/21 作者: 瀏覽:877

    先看看工具大概長啥樣

    我們先選取一個文件,然后對文件進(jìn)行簽名,簽名返回的是128位的byte[]數(shù)組,為了顯示方便,我們進(jìn)行編碼轉(zhuǎn)換,以base64 格式進(jìn)行顯示。當(dāng)然,RSA簽名是有私鑰支持才可以的。用私鑰簽名,然后再用公鑰進(jìn)行驗簽操作。以下是相關(guān)代碼

  

        //文件簽名
        private void bt_filesignature_Click(object sender, EventArgs e)
        {
            try
            {
                if (File.Exists(this.tb_filepath.Text)==false)
                {
                    MessageBox.Show("請先選擇一個有效的文件路徑");
                    return;
                }
                byte[] data = File.ReadAllBytes(this.tb_filepath.Text);
                (byte[] signature, string PublicKey) = Tools.Signature(this.tb_prkey.Text,data);
                this.tb_signatrue.Text=Convert.ToBase64String(signature);
                this.tb_key_32.Text=Convert.ToBase64String(signature.Take(32).ToArray());
                this.tb_iv_16.Text=Convert.ToBase64String(signature.Skip(32).Take(16).ToArray());

            }
            catch (Exception ex)
            {
                this.tb_signatrue.Text=ex.Message+ex.InnerException?.Message;
            }
        }

簽名成功后返回兩個數(shù)據(jù),一個是簽名本身,一個是公鑰,是返回給客戶驗簽用的。

        public static (byte[],string) Signature(string PriKey, byte[] data)
        { 
            var rsaWrite = new RSACryptoServiceProvider();
            rsaWrite.FromXmlString(PriKey);
            string PublicKey = rsaWrite.ToXmlString(false);
            //簽名
            byte[] signature = rsaWrite.SignData(data, SHA1.Create());
            return (signature ,PublicKey);
        }



下拉加載更多評論
最新評論
暫無!