MQTT V3.1协议规范(中文版)
MQTT协议中文翻译,保留了原文的格式,可以对照阅读,英文地址:http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html,对于学习MQTT协议十分有帮助。看得懂原文的,可以直接看原文。
自己实现的Base64编码和解码,支持自定义字母表
自己用java实现的Base64编码和解码,支持自定义字母表,文章地址http://blog.csdn.net/zzhouqianq/article/details/46992347
RSA算法的纯Python实现(源码)
RSA算法的纯Python实现,压缩包内共4个文件,分别是
1、大整数的运算库(当然不是算加减乘除的,这个python本身就有)。这个库是计算乘模运算,幂模运算(蒙哥马利算法),最大公约数算法及扩展最大公约数算法(扩展欧几里得算法)等。
2、质数库。Miller_Rabin素数判断法,大整数快速因式分解算法(pollard_rho算法),生成指定位数的大质数或大整数算法等。
3、RSA算法库。使用上面两个库,实现RSA算法。实现了生成指定数位的密钥对,加密,解密,签名和验证,这5个核心功能。
4、RSAtest.py一个使用RSA算法库的例子。例子从生成密钥对开始,对数据进行加解密,签名和验证签名,最后用修改后的消息再次验证签名。
这个RSA算法最低支持32位密钥长度,最长没限制。但是事实上,在我的电脑上测试,1024位大概1.3秒左右,1536大约5~6秒,2048位密钥生成就需要约27秒。
这次发布的是源码,里面有详细的中文注释,十分适合希望学习RSA算法原理的人。RSA算法原理基于两个大质数的乘积很难因式分解,几种算法的优劣主要体现在质数判断、快速乘模运算、快速幂模运算等。如需实际应用建议使用大能们的实现:https://pypi.python.org/pypi/rsa/
APK解析(版本、包名、导出资源图片、证书相关信息、签名认证、权限、Activity等)
这个工具前后用了好多天的时间查阅资料并不断修改才完成。本工具可以用于读取apk包的大量信息,无其他依赖。可以直接通过命令行运行,也可以当作架包使用。
命令行方式使用举例:
获取AndroidManifest.xml文件中定义的versionCode:
java -jar ApkAnalysis.jar “apk路径” -versionCode
获取apk证书详情:
java -jar ApkAnalysis.jar “apk路径” -certs
获取apk证书中的第一条的详情:
java -jar ApkAnalysis.jar “apk路径” -certs 0
获取证书摘要(百度、高德地图等API中需要的那个SHA1):
java -jar ApkAnalysis.jar “apk路径” -certs 0 SHA1
获取apk发布者信息:
java -jar ApkAnalysis.jar “apk路径” -certs 0 issuer
获取apk声明的权限:
java -jar ApkAnalysis.jar “apk路径” -permissions
当作为架包使用时,通过
ApkAnalysis apkAnalysis = ApkAnalysis.getApkReader(apkFilePath);
获取到ApkAnalysis的实例,然后就调用对应方法读取即可。相信都会使用自动补全等功能吧?那个会告诉你有哪些可用的方法,这里不例举了。
输入
java -jar ApkAnalysis.jar -help会给出如下提示,请慢慢研究。如果好用,请不吝评价一下,谢谢~至于源码么,会反编译的就反编译吧,我也拦不住的,纯Java写的,还是很好反编译的,也没有代码混淆过。感兴趣愿意一起交流的可以留言问我要,纯粹伸手党就算了。
Apk分析工具 v1.0.7 编译时JDK版本:1.6.0_33 当前JRE版本:1.6.0_33
作者:周骞 发布日期:2015-01-08
---------------------------------------------------
ApkAnalysis [-versionCode] [-versionName] [-packageName]...
可用的选项:
-versionCode 版本号
-versionName 版本名称,如1.0.3
-packageName Apk包名
-certs [index] [MD5|SHA1|issuer|subject|validity] 获取证书的信息
-verify 校验apk内文件的签名,并列出未通过校验的文件
-permissions 获取apk所需的权限
-features 获取apk所需的特性
-activities [detail] 获取apk所含的Activity
-services [detail] 获取apk所含的Service
-receivers [detail] 获取apk所含的静态Receiver
-content [name] 获取AndroidManifest.xml中的内容
-extract 抽取apk中的文件
-h[elp] 显示此帮助信息
---------------------------------------------------
如在程序中引用本包,方法如下:
ApkAnalysis apkAnalysis = ApkAnalysis.getApkReader(apkFilePath);
需要判断apkAnalysis是否为null,为null表示读取失败,不为null时即可调用getXX()获取数据
RSA算法的纯Python实现
RSA算法的纯Python实现,压缩包内共4个文件,分别是
1、大整数的运算库(当然不是算加减乘除的,这个python本身就有)。这个库是计算乘模运算,幂模运算(蒙哥马利算法),最大公约数算法及扩展最大公约数算法(扩展欧几里得算法)等。
2、质数库。Miller_Rabin素数判断法,大整数快速因式分解算法(pollard_rho算法),生成指定位数的大质数或大整数算法等。
3、RSA算法库。使用上面两个库,实现RSA算法。实现了生成指定数位的密钥对,加密,解密,签名和验证,这5个核心功能。
4、RSAtest.py一个使用RSA算法库的例子。例子从生成密钥对开始,对数据进行加解密,签名和验证签名,最后用修改后的消息再次验证签名。
这个RSA算法最低支持32位密钥长度,最长没限制。但是事实上,在我的电脑上测试,1024位大概1.3秒左右,1536大约5~6秒,2048位密钥生成就需要约27秒。
Qt Sqlite加密数据库驱动源代码
这是我工作了一天的成果,压缩包内包括Qt sqlite加密驱动所有的代码,以及一个调用例程,还有一个sqlite3shell.exe工具,用于加密数据库命令行下的分析。
使用这个加密驱动很简单,只需以下3步:
1. 将驱动的代码复制到你的app文件夹(共2个文件夹)
2. 在app的pro文件中加入
include(wxsqlite3/wxsqlite3.pri)
include(zsqlitecipherdriver/zsqlitecipherdriver.pri)
3. 在需要的地方加入#include "zsqlitecipherdriver.h",这样就可以使用ZSQLiteCipherDriver类了,这个类是继承自QSqlDriver。所以可以传递给
QSqlDatabase::addDatabase。
详细的可以查看压缩包内源码。之后,main函数就可以这么使用sqlite的加密驱动:
ZSQLiteCipherDriver *driver = new ZSQLiteCipherDriver();
QSqlDatabase db = QSqlDatabase::addDatabase(driver);
db.setDatabaseName("test.db");
db.setPassword("123");
db.open();
...
加密驱动的稳定性没有问题,是我从Qt的开源代码中,找到Sqlite没加密的驱动部分,然后修改的。修改的内容不多,最重要的是在数据库的open时,加入了sqlite3_key的调用,实现加密。
底层的加密实现,是来自wxsqlite3-3.0.6。这个我修改了一个宏定义,让其加密方式采用了AES256,而不是原来的AES128。
例程中包括了3个实用的函数,分别用来以某一密码打开或创建一个数据库,判断数据库是否处于解密状态,以及修改数据库密码。
sqlite3shell.exe跟官方提供的sqlite3.exe使用方法一样。只不过对于加密数据库,需要在对数据库进行任何操作前,先执行“PRAGMA key=xxx;”。通过这种方式输入数据库密码。检验之前的密码是否正确可以在命令行中键入“.databases”,如果没有错误提示,那就是解密成功了;如果密码错误,只能关闭sqlite3shell.exe,从头尝试了。
虽然这个资源,要的分数确实有点多,不过评价之后就能返还的。我相信这个资源值这个价值!下载后在Qt5上可以直接编译。不需要任何修改。Qt4上没试过,不承诺一定可用,但是应该没问题。
Python 3.3绿色精简单文件版
Python 3.3的绿色精简单文件版,一个exe文件包括所有的运行环境,windows环境下都能运行。适合用于学习或者为自己写的程序扩展python功能。
Python 2.7绿色精简单文件版
Python 2.7的绿色精简单文件版本,exe中包含了python的运行库和环境。win xp、win7、win8都能运行。精简内容:主要去除了帮助文档(console模式下help命令仍然可用),测试模块以及tk界面模块。