64 lines
2.5 KiB
Markdown
64 lines
2.5 KiB
Markdown
|
|
```csharp
|
|||
|
|
|
|||
|
|
//internal class UserInfo
|
|||
|
|
//{
|
|||
|
|
// [PrimaryKey] [AutoIncrement] public int Id { get; set; }
|
|||
|
|
|
|||
|
|
// public string password { get; set; }
|
|||
|
|
//}
|
|||
|
|
private static readonly string path = "ArchiWBSCode.db";
|
|||
|
|
private static readonly string path1 = "ts.db";
|
|||
|
|
|
|||
|
|
private static readonly string pathS = "ArchiWBSCode.sqlite";
|
|||
|
|
private static void CreateEncryptedDb(string newfilename, string password)
|
|||
|
|
{
|
|||
|
|
var conn = new SqliteConnectionStringBuilder
|
|||
|
|
{
|
|||
|
|
DataSource = newfilename,
|
|||
|
|
Mode = SqliteOpenMode.ReadWriteCreate,
|
|||
|
|
Password = password
|
|||
|
|
}.ToString(); //使用这个方式设置密码,避免sql注入
|
|||
|
|
//创建SQLite连接
|
|||
|
|
using (SqliteConnection connection = new SqliteConnection(conn))
|
|||
|
|
{
|
|||
|
|
if (connection.State == ConnectionState.Closed)
|
|||
|
|
{
|
|||
|
|
connection.Open();
|
|||
|
|
var createTableSqlStr =
|
|||
|
|
@"CREATE TABLE if not exists ""Alarm"" ( ""Id"" INTEGER NOT NULL, ""AlarmName"" TEXT, ""AlarmTypeId"" INTEGER, PRIMARY KEY ( ""Id"" ) );";
|
|||
|
|
var result = connection.Execute(createTableSqlStr); //使用Dapper执行sql语句创建表
|
|||
|
|
//Console.ReadKey();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private static int UpdatePassword(string fileName, string oldPassword, string newPassword)
|
|||
|
|
{
|
|||
|
|
var connectionString = new SqliteConnectionStringBuilder
|
|||
|
|
{
|
|||
|
|
DataSource = fileName,
|
|||
|
|
Mode = SqliteOpenMode.ReadWriteCreate,
|
|||
|
|
Password = oldPassword
|
|||
|
|
}.ToString();
|
|||
|
|
|
|||
|
|
using (var connection = new SqliteConnection(connectionString))
|
|||
|
|
{
|
|||
|
|
connection.Open();
|
|||
|
|
using (var command = connection.CreateCommand())
|
|||
|
|
{
|
|||
|
|
command.CommandText = "SELECT quote($newPassword);";
|
|||
|
|
command.Parameters.AddWithValue("$newPassword", newPassword);
|
|||
|
|
var quotedNewPassword = command.ExecuteScalar() as string;
|
|||
|
|
|
|||
|
|
command.CommandText = "PRAGMA rekey = " + quotedNewPassword;
|
|||
|
|
command.Parameters.Clear();
|
|||
|
|
int x = command.ExecuteNonQuery();
|
|||
|
|
return x;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private string oldPassword = "123qwe";
|
|||
|
|
private string newPassword = "abcd";
|
|||
|
|
```
|