如果jdbc和mysql都支持SSL那通过配置就可以了\x0d\如果不支持,那也可以自己来实现。\x0d\实现思路:\x0d\1、在数据库的主机上运行一个java服务,用来转发数据这个服务我们成为A服务\x0d\2、客户端并不直接访问数据库,而访问A服务,客户端和A服务之间的传输代码由用户自己完成,当然可以加密。走套接字,走> 使用SQL语句在另一个数据库进行生成 使用数据库备份
这样做的好处:
使用SQL语句的话,换一台电脑可以轻松生成数据库
你的问题很不清晰。
java jdbc连接mysql数据库
如何实现用户名密码以及传输数据的加密
你是要加密保存的数据,还是加密连接信息?
如果是连接串中的用户名与密码进行加密。恐怕用起来很不方便。
我就当你是要把入库的信息加密。
下边是DES加密的方法。将数据进行DES加密,将加密内容转为16进制内容表示。
--------------------------------------------------------------------------------------------
import javaxcryptoCipher;
import javaxcryptospecSecretKeySpec;
public class DesTest {
public static void main(String[] args) throws Exception {
// 要加密的数据
String str = "123456";
// 密钥
String strKey = "86337898";
SecretKeySpec key = new SecretKeySpec(strKeygetBytes(), "DES");
Cipher cipher = CiphergetInstance("DES");
cipherinit(CipherENCRYPT_MODE, key);
byte[] byteFina = cipherdoFinal(strgetBytes());
String strFinal = byte2Hex(byteFina);
Systemoutprintln(strFinal);
cipherinit(CipherDECRYPT_MODE, key);
byte[] decByte = hex2Byte(strFinal);
byte[] result = cipherdoFinal(decByte);
Systemoutprintln(new String(result));
}
public static String byte2Hex(byte[] buff) {
String hs = "";
for (int i = 0; i < bufflength; i++) {
String stmp = (IntegertoHexString(buff[i] & 0XFF));
if (stmplength() == 1)
hs = hs + "0" + stmp;
else
hs = hs + stmp;
}
return hs;
}
public static byte[] hex2Byte(String str) {
int len = strlength() / 2;
byte[] buff = new byte[len];
int index = 0;
for (int i = 0; i < strlength(); i += 2) {
buff[index++] = (byte) Integer
parseInt(strsubstring(i, i + 2), 16);
}
return buff;
}
}
以上就是关于javajdbc连接mysql数据库如何实现用户名密码以及传输数据的加密全部的内容,包括:javajdbc连接mysql数据库如何实现用户名密码以及传输数据的加密、sqlserver如何把一个数据库复制到另外一个数据库、java jdbc连接mysql数据库 如何实现用户名密码以及传输数据的加密等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)