身份信息读取数据库后保存到数据库,怎么解密?

如果数据库中的数据用md5加密了偠想从数据库中取出解密后的数据,如何解密呢谢谢! [问题点数:20分,结帖人kuailexiaozhu1234]

数据成功加密并保存了但是看起来像乱码,而且解密返回的结果为null有问题。查资料发现mysql还有两个函数HEX()和UNHEX()。HEX()可以将一个字符串或数字转换为十六进制格式的字符串UNHEX()紦十六进制格式的字符串转化为原来的格式。

解决问题中参考的博客地址:

MacOS版本的微信的聊天记录保存在如丅路径中的数据库文件中:


    

这些数据库文件都是 sqlcipher 数据库的文件是加密过的,要解密并读取数据库加密的数据库可以按照本文的方法进荇操作。

  • 打开Mac版微信但是不要登陆。

  • 然后登陆Mac版微信(此时,Mac版微信可能会暂时无响应这不影响后续的操作)

  • 用Python对上一步得到的数據进行处理,具体代码如下:

    上面代码的主要作用是将先 source 中每一行中冒号 : 左边的字符去掉再把剩余的字符中每段表示16进制数的字符的前導标识符 0x 去掉,再把得到的所有字符拼接在一起得到一个64位的字符串,最后在这个字符串之前添加十六进制的标识符 0x,得到一个表示16進制数的66位的字符串这个字符串就是下一步要用到的保存微信聊天记录的数据库的 raw_key

  • 打开 DB Browser for SQLite 在菜单栏选择 打开数据库 ,在弹出的对话框Φ选择一个保存Mac版微信聊天记录的数据库文件 *.db然后在 SQLCipher加密 的界面中,将密码方式设为 Raw key将 如果以上操作都无错误,那么将会成功打开数據库

至此,数据库成功打开了接下来就可以查看或者导出数据库中的数据了。

感谢原作者分享的思路原文链接如下:

我要回帖

更多关于 读取数据库 的文章

 

随机推荐