怎么对数据库连接字符串进行加密和解密?

怎么对数据库连接字符串进行加密和解密?,第1张

给方法:开始--->运行,输入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文件中的连接字符串将不能够正常解密。

你的问题很不清晰。

java jdbc连接mysql数据

如何实现用户名密码以及传输数据的加密

你是要加密保存的数据,还是加密连接信息?

如果是连接串中的用户名与密码进行加密。恐怕用起来很不方便。

我就当你是要把入库的信息加密。

下边是DES加密的方法。将数据进行DES加密,将加密内容转为16进制内容表示。

--------------------------------------------------------------------------------------------

import javax.crypto.Cipher

import javax.crypto.spec.SecretKeySpec

public class DesTest {

public static void main(String[] args) throws Exception {

// 要加密的数据

String str = "123456"

// 密钥

String strKey = "86337898"

SecretKeySpec key = new SecretKeySpec(strKey.getBytes(), "DES")

Cipher cipher = Cipher.getInstance("DES")

cipher.init(Cipher.ENCRYPT_MODE, key)

byte[] byteFina = cipher.doFinal(str.getBytes())

String strFinal = byte2Hex(byteFina)

System.out.println(strFinal)

cipher.init(Cipher.DECRYPT_MODE, key)

byte[] decByte = hex2Byte(strFinal)

byte[] result = cipher.doFinal(decByte)

System.out.println(new String(result))

}

public static String byte2Hex(byte[] buff) {

String hs = ""

for (int i = 0i <buff.lengthi++) {

String stmp = (Integer.toHexString(buff[i] &0XFF))

if (stmp.length() == 1)

hs = hs + "0" + stmp

else

hs = hs + stmp

}

return hs

}

public static byte[] hex2Byte(String str) {

int len = str.length() / 2

byte[] buff = new byte[len]

int index = 0

for (int i = 0i <str.length()i += 2) {

buff[index++] = (byte) Integer

.parseInt(str.substring(i, i + 2), 16)

}

return buff

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9893564.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存