这是示例数据库的链接我希望此代码连接到我的数据库并加密表“WellTable”中的行,不幸的是我收到下面列出的错误。我在这里遵循了指南:Manipulating an Access database from Java without ODBC ...我正在使用 Atom IDE。
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.util.Scanner;
import java.sql.*;
/*import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
*/
public class hippa {
public static void main(String[] args) {
//String databaseURL = "jdbc:ucanaccess://C:/Users/al3cz/OneDrive/Desktop/hippaProject/WellnessMerge.accdb";
String passkey = ""; // field for passkey
int dctnum = 0; //dct loop number
final String key = "Pass1234Pass1234"; // 128 bit key
String ID = "";
int x = 0;
try {
//connect to the database and get ID
Connection dbConnection = DriverManager.getConnection("jdbc:ucanaccess://C:/Users/al3cz/OneDrive/Desktop/hippaProject/WellnessMerge.accdb");
Statement readID = dbConnection.createStatement();
String sql = "SELECT [CID] FROM [WellTable]";
ResultSet rs = readID.executeQuery(sql);
while (rs.next()) {
ID = rs.getString("CID");
//ID = "863784593";
// Create key and cipher
Key aesKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
//TODO create GUI button that Encrypts all IDs
// encrypts the ID
cipher.init(Cipher.ENCRYPT_MODE, aesKey);
byte[] encryptedID = cipher.doFinal(ID.getBytes());
StringBuilder sb = new StringBuilder();
for (byte b: encryptedID) {
sb.append((char)b);
}
幕布斯7119047
相关分类