当前位置: 首页 > news >正文

团总支网站建设宣传wordpress 搜索mysql

团总支网站建设宣传,wordpress 搜索mysql,用网站做淘客怎么赚钱,济宁vi设计公司一、概述 使用sqlite3的免费版本是不支持加密的。为了能使用上加密sqlite3#xff0c;有一个免费的开源项目sqlcipher提供了免费和付费的加密sqlite功能。我们当然选择免费的版本啦。 官方网站#xff1a; https://www.zetetic.net/sqlcipher/open-source/ 文档目录#…一、概述 使用sqlite3的免费版本是不支持加密的。为了能使用上加密sqlite3有一个免费的开源项目sqlcipher提供了免费和付费的加密sqlite功能。我们当然选择免费的版本啦。 官方网站 https://www.zetetic.net/sqlcipher/open-source/ 文档目录 https://www.zetetic.net/sqlcipher/documentation/ 设计简介 https://www.zetetic.net/sqlcipher/design/ API文档 https://www.zetetic.net/sqlcipher/sqlcipher-api/ 源码下载 git clone https://github.com/sqlcipher/sqlcipher.git 如何编译 查看源码的README.md 的编译过程。 二、实际编译 2.1 编译脚本 我们使用的目标板是aarch64(arm64)的linux环境我们的查看一下我们的编译环境。编译环境如下 $ env | grep aarchCXXaarch64-linux-gnu-g LDaarch64-linux-gnu-ld ARaarch64-linux-gnu-ar NMaarch64-linux-gnu-nm PATH/home/xx/.local/bin:/usr/local/openresty/nginx/sbin:/usr/local/openresty/bin:/usr/local/node-v18.16.0-linux-x64/bin:/home/xx/workspace/toolchain/go/bin:/home/xx/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/usr/local/openresty/nginx/sbin:/home/xx/workspace/toolchain/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin:/home/xx/sonar_tools/sonar-scanner-4.7.0.2747-linux/bin:/home/xx/sonar_tools/build-wrapper-linux-x86 CCaarch64-linux-gnu-gcc CROSS_COMPILE/home/xx/workspace/rk3568-git/rk_hal/src/rk3568/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-下面是交叉编译的脚本如下 # cat build.sh export AARCH64_SYSROOT/your/aarch64/sysroot_path ./configure --enable-tempstoreyes --host aarch64 CFLAGS-DSQLITE_HAS_CODEC --sysroot$AARCH64_SYSROOT LDFLAGS-lcrypto --sysroot$AARCH64_SYSROOT --prefix$AARCH64_SYSROOT/usr/local unset AARCH64_SYSROOT2.2 编译和安装 make 编译生成了./.libs/libsqlcipher.a 库是一个静态库。应该也能生成动态库。 make install 安装了头文件和库 include└── sqlcipher├── sqlite3ext.h└── sqlite3.h bin└── sqlcipher三、实际使用 3.1 应用代码编写与编译 在使用过程中和sqlite3原生的api一样使用。 在应用代码中去掉原生的sqlite3.h头文件包含sqlcipher/sqlite3.h和 sqlcipher/sqlite3ext.h头文件。你会发现原生头文件和sqlcipher的防止重复包含宏定义相同所以一定要去掉原生的有文件。 在应用代码的编译中Makefile加入编译选项CFLAGS -DSQLITE_CORE1 -DSQLITE_HAS_CODEC1。不加就会报错identifier “sqlite3_api” is undefined。 在链接阶段链接-lcrypto -lsqlcipher。无需再 链接-lsqlite3。 3.2 设置密码 int sqlite3_key(sqlite3 *db, const void *pKey, int nKey);上述函数等价于sqlite语句PRAGMA key passphrase; 3.3 修改密码 sqlite3_rekey(sqlite3 *db, const void *pKey, int nKey);上述函数等价于PRAGMA rekey new-passphrase; 修改密码的流程一般是先输入旧的密码然后修改新密码。先sqlite3_key 然后sqlite3_rekey。等价于下面sqlite操作。 PRAGMA key passphrase; -- start with the existing database passphrase PRAGMA rekey new-passphrase; -- rekey will reencrypt with the new passphrase验证对于之前没有密码的数据库可以字节rekey吗 3.4 使用sqlcipher打开加密数据库 sqlcipher .open file.db PRAGMA key passphrase成功示例 # sqlcipher file.db SQLite version 3.41.2 2023-03-22 11:56:21 (SQLCipher 4.5.4 community) Enter .help for usage hints. sqlite PRAGMA key 123456; ok sqlite select * from sqlite_master;失败示例 # sqlcipher SQLite version 3.41.2 2023-03-22 11:56:21 (SQLCipher 4.5.4 community) Enter .help for usage hints. Connected to a transient in-memory database. Use .open FILENAME to reopen on a persistent database. sqlite .open file.db sqlite PRAGMA key 123456adss; ok sqlite select * from sqlite_master; Parse error: file is not a database (26) sqlite .q如果未加密的数据库可以直接使用selelct访问sqlite_master表加密的数据库访问时会报错。未加密的数据库使用原生的sqlite3工具也能打开加密的 数据库使用sqlite3打开后设置密码无反应ok,select访问报错file is not a database。 3.5 sqlchiper 数据库备份 调用backup sqlite3_backup_init(new_db, “main”, dbh-db, “main”)时报错了。报错如下 sqlite3 backup init error, backup is not supported with encrypted databases。看来加密数据库不支持这样的备份API。 在API中找到了一个这个函数用来进行加密和非加密之间复制和拷贝。 SQLCipher用法注意: 如果当前数据库是明文数据库SQLCipher不会加密。如果当前数据库已加密且pNew0或nNew0则SQLCipher不会解密。这个例程仅适用于已经加密的数据库以便更改密钥。 根据SQLCipher文档从明文到加密或加密到明文的转换应该使用附加的数据库和sqlcipher_export()方便函数。 sqlcipher_export() 函数 sqlcipher_export是一个方便的函数它将主数据库的全部内容复制到附加数据库包括架构、触发器、虚拟表和所有数据。它的主要功能是可以轻松地从非加密数据库迁移到加密数据库 从加密数据库迁移到非加密数据库或者在 SQLCipher 支持的加密数据库的各种选项之间迁移。有关此主题的其他信息和讨论请参阅这篇关于如何使用 SQLCipher 加密明文数据库的帖子 Example 1: Encrypt a Plaintext Database $ ./sqlcipher plaintext.db sqlite ATTACH DATABASE encrypted.db AS encrypted KEY testkey; sqlite SELECT sqlcipher_export(encrypted); sqlite DETACH DATABASE encrypted;Example 2: Decrypt a SQLCipher database to a Plaintext Database $ ./sqlcipher encrypted.db sqlite PRAGMA key testkey; sqlite ATTACH DATABASE plaintext.db AS plaintext KEY ; -- empty key will disable encryption sqlite SELECT sqlcipher_export(plaintext); sqlite DETACH DATABASE plaintext;Example 3: Convert from a 3.x to 4.x Database $ ./sqlcipher 1.1.x.db sqlite PRAGMA key testkey; sqlite PRAGMA cipher_page_size 1024; sqlite PRAGMA kdf_iter 64000; sqlite PRAGMA cipher_hmac_algorithm HMAC_SHA1; sqlite PRAGMA cipher_kdf_algorithm PBKDF2_HMAC_SHA1; sqlite ATTACH DATABASE sqlcipher-4.db AS sqlcipher4 KEY testkey; sqlite SELECT sqlcipher_export(sqlcipher4); sqlite DETACH DATABASE sqlcipher4;Example 4: Changing Cipher Settings $ ./sqlcipher encrypted.db sqlite PRAGMA key testkey; sqlite ATTACH DATABASE newdb.db AS newdb KEY newkey; sqlite PRAGMA newdb.cipher_page_size 4096; sqlite PRAGMA newdb.cipher aes-256-cfb; sqlite PRAGMA newdb.kdf_iter 10000; sqlite SELECT sqlcipher_export(newdb); sqlite DETACH DATABASE newdb;Example 5: Copying an attached plaintext database to a new empty encrypted main database $ ./sqlcipher encrypted.db sqlite PRAGMA key testkey; sqlite ATTACH DATABASE plain.db AS plain KEY ; sqlite SELECT sqlcipher_export(main, plain); sqlite DETACH DATABASE plain;
http://www.dnsts.com.cn/news/61575.html

相关文章:

  • 山西做网站优势如何制作公司app
  • 教资报名网站设置机械东莞网站建设
  • 中国住房和城乡建设部网站首页创办网站的步骤
  • 搞个网站需要多少钱织梦做动漫网站
  • 有什么网站可以做电子深圳建站公司好坏
  • 专科网站开发就业方向网站建设颜色搭配
  • 兰州网站开发在哪里佛山公司网站设计团队
  • 山东网站建设开发维护网上购物哪个平台能买到正品
  • 天津网站制作哪个好深圳网咯鸟网站建设公司怎么样
  • 网站开发项目描述范文福建建设厅网站首页
  • 网站建设有免费的空间吗为什么网站百度搜不到
  • 潍城区建设局网站个人备案可以做影视网站吗
  • 邢台做网站哪里便宜网站开发培训机构需要多少钱
  • 怎么样可以做网站做网站感想
  • 预装wordpress然后seo排名赚app多久了
  • 门户网站好用的wordpress主题
  • 宁波专业网站定制制作服务网络设计制作服务
  • 网站里自已的微信联系如何做如何做收费网站
  • 云南建投第七建设有限公司网站虚拟主机如何建设多个网站
  • 广东省城乡和建设厅网站搜索引擎是什么意思啊
  • 现在做网络推广网站建设怎么样wordpress 修改关键词
  • 网站搭建赚钱吗重庆房产信息网官网
  • 柳州建设公司网站网站建设 网站维护
  • 深圳麒麟网站建设什么装修网站做的好的
  • 蒙阴做网站互联网舆情报告
  • 宁波住房与城乡建设部网站二手车交易市场
  • 电商资讯网站有哪些wordpress简约文艺
  • 活泼的网站html5 3d网站
  • 企业网站设计建设服务器购物网站建设公
  • 网站建设互联网排名windows 2008 搭建网站