當前位置:首頁 » 數據倉庫 » c資料庫連接字元串加密
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c資料庫連接字元串加密

發布時間: 2022-06-01 20:08:30

⑴ C語言如何進行字元加密

進行字元加密是很多種的。
數據加密的基本過程就是對原來為明文的文件或數據按某種演算法進行處理,使其成為不可讀的一段代碼為「密文」,使其只能在輸入相應的密鑰之後才能顯示出原容,通過這樣的途徑來達到保護數據不被非法人竊取、閱讀的目的。 該過程的逆過程為解密,即將該編碼信息轉化為其原來數據的過程。

⑵ C語言字元串加密

問題不小,你表面用的是C
但是,好多地方不符合C的語法
,,比如:
for
(int
i=0;
str[i]
!=
'\0';
i++)
還有,就是你好像沒有弄清楚
,你要做什麼似的,有好多無用的東西,
就像你的函數里的,key
,雖然你提到key了,但是你根本沒有使用key,你只是使用45來進行加密,,還有就是一個文件
的大小,是不確定的,你用一個100個字元的字元串來存,有點那個不安全了,,如果稍長一點就會出問題,產生運行時錯誤。其實你這個加密和解密是一個可逆過程,用一個函數,就可以了,具體你想要的也不是太明白,就給你弄了一個簡單一點加密和解密程序
,輸入輸出不是同一個文件
,不知道是不是你想要的。
#include

#include

#include

void
Decrypt()
{
char
fname[FILENAME_MAX];
char
fname2[FILENAME_MAX];
FILE*
fp;
FILE*
fp1;
int
key;
char
c;
printf("輸入要加/解密文件的路徑:\n");
scanf("%s",
fname);
printf("請輸入密鑰:\n");
scanf("%d",&key);
strcpy(fname2,fname);
strcat(fname2,".txt");
if(
(fp
=
fopen(fname,"r+"))
==
NULL)
{
printf("error");
exit(1);
}
if(
(fp1
=
fopen(fname2,"w+"))
==
NULL)
{
printf("error");
exit(1);
}
while(
(c
=
fgetc(fp))
!=
EOF)
{
c
=
c^key;
fputc(c,fp1);
}
fcloseall();
}
int
main()
{
Decrypt();
return
0;
}
如果想看一些好一點的加密演算法
,我這里有一些,聯系我發給你
,,

⑶ .net sqlconnection 連接字元串如何加密

沒有決對的安全。
可以把連接串做成程序集的資源。

資料庫是在客戶端嗎,那可以直接繞過你的程序,用資料庫工具連上了(windows驗證方式)。
如果是在伺服器上,那你就不要讓程序直接庫,而是寫一個中間通訊程序。

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

給方法:開始--->運行,輸入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文件中的連接字元串將不能夠正常解密。

⑸ c#資料庫連接加密

加密意義不大,最好在客戶端程序和伺服器資料庫之間加個層,例如:WEB服務、WCF,

千萬不要把伺服器資料庫直接暴露在互聯網上,太危險了!

⑹ 資料庫如何實現欄位加密

好像沒這東西
你在編程語言中實現把
這種情況我都是用MD5加密
雖然你不想聽理論。。。我也懶得寫代碼。。。

1、把用戶的密碼用MD5改變成32個字元
2、將這字元串寫到資料庫里
3、判斷密碼是否正確的時候,把用戶輸入的密碼在用MD5改變成32個字元、判斷這字元串和資料庫中字元串是否相同

下面是JAVA的MD5用法

import java.security.MessageDigest;

public class MD5 {
private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

//將位元組數組轉換為十六進制字元串
private static String byteArrayToHexString(byte[] b) {
StringBuffer resultSb = new StringBuffer();
for (int i = 0; i < b.length; i++) {
resultSb.append(byteToHexString(b[i]));
}
return resultSb.toString();
}

//將位元組轉換為十六進制字元
private static String byteToHexString(byte b) {
int n = b;
if (n < 0)
n = 256 + n;
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1] + hexDigits[d2];
}

public static String MD5Encode(String origin) {
String resultString = null;

try {
resultString = new String(origin);
//MessageDigest 類為應用程序提供信息摘要演算法的功能,如 MD5 或 SHA 演算法
MessageDigest md = MessageDigest.getInstance("MD5");
resultString = byteArrayToHexString(md.digest(resultString
.getBytes("GBK")));
} catch (Exception ex) {

}
return resultString;
}

public static void main(String[] args)
{
System.out.println(MD5.MD5Encode("admin"));
System.out.println(MD5.MD5Encode("密碼內容"));
}

}

⑺ C語言字元串加密問題

樓主,你的問題在於沒有對數組
r
初始化(而s的輸出沒有問題),這樣輸出的時候找不到結束符,所以就一直輸出下去,因此出現了亂碼。
提出兩種修改方法,這兩種方法都可以避免你的問題:
1、char
r[10000]={0};
後就可以了。這樣你輸入的字元串不管是多長,到時後面的都是結束符。
2、上面不對r進行初始化,而修改下面
for(i=0;s[i]!='\0';i++)
{
if((s[i]<='Z')&&(s[i]>='A'))
r[i]=s[i]+3;
else
if((s[i]<='z')&&(s[i]>='a'))
r[i]=s[i]-4;
else
r[i]=s[i];
}
r[i]='\0';
//在r的後面加上結束符就可以了

⑻ 如何實現資料庫連接的密碼加密

C#中有數據加密的類using System.Security.Cryptography,在這個類中你可以調用它的兩個方法分別是加密方法
public static string Encrypt(string text)
{}
解密方法
public static string Decrypt(string text)
{}
我們一般使用連接資料庫加密的話,都會使用一個配置文件在配置文件中對資料庫鏈接進行讀寫,通過加密方法把鏈接寫到配置文件,然後讀取的時候再使用解密方法。