using (var _rsa = System.Security.Cryptography.RSA.Create(2048)) 報找不到文件的錯誤
因為在登錄的時候應(yīng)用了RSA加密,想不到在本地測試好好的,上傳到服務(wù)器就報錯,因為服務(wù)器上無法下斷點跟蹤,只好一行一行writelog() 看, public static void WriteLog(string log) { StreamWriter dout = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "Data\\log" + ".txt", true); dout.Write(System.DateTime.Now.ToString()+"\t" + log+"\r\n"); dout.Close(); } 結(jié)果發(fā)現(xiàn)調(diào)用using (var _rsa = System. ...
【原創(chuàng)】 RSA對文件進(jìn)行簽名操作
先看看工具大概長啥樣 我們先選取一個文件,然后對文件進(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) ...
【原創(chuàng)】 .NETCORE MVC代碼加密
查詢了相關(guān)資料,有大佬們已經(jīng)解決了動態(tài)編譯的問題,也就是把代碼在運行的時候動態(tài)編譯進(jìn)程序集再調(diào)用執(zhí)行,根據(jù)這個原理,我寫了一個小小的demo,首先將一段待保護(hù)的代碼進(jìn)行RSA加密,代碼如下: using Microsoft.AspNetCore.Mvc;namespace WINS.Controllers{ public class CrackController : Controller { public string Index() { return "Crack me , if you can !"; } public string Time() { return System.Da ...
AES加密
using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; namespace AESTest { class AES { //public static void Main() //{ // string original = "Here is some data to encrypt!"; // // Create a new instance of the Aes // // class. ...
【原創(chuàng)】RSA簽名測試工具,含源碼下載
很簡單的一個小工具,可以用來對數(shù)據(jù)進(jìn)行RSA加密簽名操作,以防止數(shù)據(jù)被第三方篡改。 如上圖所示,在待簽數(shù)據(jù)中輸入要簽名的文本,然后點擊簽名按鈕,即可生成簽名數(shù)據(jù),默認(rèn)簽名是byte[]形式,這里進(jìn)行了base64轉(zhuǎn)碼,以方便顯示。點擊驗簽,如下圖所示 如果我們隨便改動一下原文的數(shù)據(jù),比如加一個空格,或是刪除一個回車,再次點擊驗簽按鈕,則會返回失敗提示。源碼如下: using System.Security.Cryptography;using System.Text;namespace RSASignature{ ...
[原創(chuàng)] IdentityServer4 登錄成功后跳轉(zhuǎn)發(fā)生錯誤
IdentityServer4官網(wǎng)自帶的DEMO,登錄成功后跳轉(zhuǎn)到請求網(wǎng)站,登錄過程是直接form提交的,我嫌棄官方的登錄不安全,字段明文發(fā)送,所以加了RSA加密,并把表單提交改為AJAX提交,于是后臺也相應(yīng)的做了代碼改動,結(jié)果大功告成的時候拿去登錄測試,出現(xiàn)以下的界面: 同時,在控制臺界面中輸出以下錯誤信息。 info: WinsWEB.Controllers.AccountController[0] 用戶成功登錄. info: IdentityServer4.Hosting.IdentityServerMiddleware[0] Invoking IdentityServer e ...
基于私鑰加密公鑰解密的RSA算法C#實現(xiàn)
RSA算法是第一個能同時用于加密和數(shù)字簽名的算法,也易于理解和操作。 RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊的考驗,逐漸為人們接受,普遍認(rèn)為是目前最優(yōu)秀的公鑰方案之一。RSA的安全性依賴于大數(shù)的因子分解,但并沒有從理論上證明破譯RSA的難度與大數(shù)分解難度等價。 RSA的安全性依賴于大數(shù)分解。公鑰和私鑰都是兩個大素數(shù)( 大于 100個十進(jìn)制位)的函數(shù)。據(jù)猜測,從一個密鑰和密文推斷出明文的難度等同于分解兩個大素數(shù)的積。 密鑰對的產(chǎn)生。選 ...
RSA簽名算法實現(xiàn)
// Create message and signature on your endstring message = "Here is the license message";var converter = new ASCIIEncoding();byte[] plainText = converter.GetBytes(message);var rsaWrite = new RSACryptoServiceProvider();var privateParams = rsaWrite.ExportParameters(true);// Generate the public key / these can be sent to the user.var publicParams = rsaWrite.ExportParameters(false);byte[] signature = rsaWrite.SignData(plainText, SHA1.Create());// Verify f ...