當前位置:首頁 » 密碼管理 » winform連接字元串加密

winform連接字元串加密

發布時間: 2023-06-18 21:54:46

Ⅰ c#資料庫連接加密

我來回答吧: 不懂可以Hi,我一般都是這么做的

先給你個加密和解密類
告訴你個加密 解密類。
using System;
using System.IO;
using System.Security.Cryptography;

namespace CryptInfoNameSpace
{
class CryptInfo
{
//加密
public static string Encrypt(string text)
{
Rijndael crypt=Rijndael.Create();
byte[] key=new byte[32]{0XA6,0X7D,0XE1,0X3F,0X35,0X0E,0XE1,0XA9,0X83,0XA5,0X62,0XAA,0X7A,0XAE,0X79,0X98,
0XA7,0X33,0X49,0XFF,0XE6,0XAE,0XBF,0X8D,0X8D,0X20,0X8A,0X49,0X31,0X3A,0X12,0X40};
byte[] iv=new byte[16]{0XF8,0X8B,0X01,0XFB,0X08,0X85,0X9A,0XA4,0XBE,0X45,0X28,0X56,0X03,0X42,0XF6,0X19};

crypt.Key=key;
crypt.IV=iv;

MemoryStream ms=new MemoryStream();
ICryptoTransform transformEncode=new ToBase64Transform();
//Base64編碼
CryptoStream csEncode=new CryptoStream(ms,transformEncode,CryptoStreamMode.Write);

CryptoStream csEncrypt=new CryptoStream(csEncode,crypt.CreateEncryptor(),CryptoStreamMode.Write);

System.Text.UTF8Encoding enc=new System.Text.UTF8Encoding();
byte[] rawData=enc.GetBytes(text);

csEncrypt.Write(rawData,0,rawData.Length);
csEncrypt.FlushFinalBlock();

byte[] encryptedData=new byte[ms.Length];
ms.Position=0;
ms.Read(encryptedData,0,(int)ms.Length);
return enc.GetString(encryptedData);
}
//解密,加密解密中的 byte[] key,byte[] iv可以自行修改,加密解密的 數組值一定一致,否則無法對應加密 解密。
public static string Decrypt(string text)
{
Rijndael crypt=Rijndael.Create();
byte[] key=new byte[32]{0XA6,0X7D,0XE1,0X3F,0X35,0X0E,0XE1,0XA9,0X83,0XA5,0X62,0XAA,0X7A,0XAE,0X79,0X98,
0XA7,0X33,0X49,0XFF,0XE6,0XAE,0XBF,0X8D,0X8D,0X20,0X8A,0X49,0X31,0X3A,0X12,0X40};
byte[] iv=new byte[16]{0XF8,0X8B,0X01,0XFB,0X08,0X85,0X9A,0XA4,0XBE,0X45,0X28,0X56,0X03,0X42,0XF6,0X19};

crypt.Key=key;
crypt.IV=iv;

MemoryStream ms=new MemoryStream();

CryptoStream csDecrypt=new CryptoStream(ms,crypt.CreateDecryptor(),CryptoStreamMode.Write);

ICryptoTransform transformDecode=new FromBase64Transform();
CryptoStream csDecode=new CryptoStream(csDecrypt,transformDecode,CryptoStreamMode.Write);

System.Text.UTF8Encoding enc=new System.Text.UTF8Encoding();
byte[] rawData=enc.GetBytes(text);
csDecode.Write(rawData,0,rawData.Length);
csDecode.FlushFinalBlock();

byte[] decryptedData=new byte[ms.Length];
ms.Position=0;
ms.Read(decryptedData,0,(int)ms.Length);
return(enc.GetString(decryptedData));
}
}
}

在項目中 引用該類,
下面個思路:

把數據連接字元串 ,經過CryptInfoNameSpace.CryptInfo.Encrypt(string text)加密後 ,寫入配置文件inf 或者 配置文件txt文件。
當執行Main函數時,讀取配置文件,(如果配置文件不存在,或者讀取錯誤, 重新加密的資料庫連接字元串加密後寫入配置文件)。然後通過函數 CryptInfoNameSpace.CryptInfo.Decrypt(string text)方法解密成原文連接字元串,並傳遞給其他類使用。即可。

Ⅱ 怎麼對資料庫連接字元串進行加密和解密

給方法:開始--->運行,輸入cmd,接著輸入以下內容

加密:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "你的Web項目路徑"

解密:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pdf "connectionStrings" "你的Web項目路徑"

.NET為版本的路徑自行修改,其中connectionStrings連接字元串的名稱。

需要注意的是,加密過程中使用了一個基於本機的密鑰,這意味著解密過程必須在同一台計算機上完成。如果是將加密後的Web.config文件移動到其它計算機上,那麼Web.config文件中的連接字元串將不能夠正常解密。

Ⅲ winform程序如何加密配置文件

下載個動軟,裡面有針對config文件加密的工具。

熱點內容
商品存儲規劃 發布:2025-02-04 17:45:24 瀏覽:562
ios訪問共享 發布:2025-02-04 17:36:33 瀏覽:330
javabuild 發布:2025-02-04 17:30:19 瀏覽:588
gnulinux編譯 發布:2025-02-04 17:30:18 瀏覽:127
蘇州阿里雲伺服器專網 發布:2025-02-04 17:21:05 瀏覽:523
如何學習php 發布:2025-02-04 17:11:55 瀏覽:387
sql查詢鎖 發布:2025-02-04 17:04:00 瀏覽:394
第二代長安cs55plus買哪個配置 發布:2025-02-04 16:58:16 瀏覽:191
彩虹島用什麼電腦配置 發布:2025-02-04 16:52:22 瀏覽:647
armphp 發布:2025-02-04 16:51:40 瀏覽:558