Android消息加密器

无聊写的一个消息加密器,支持加密emoji表情(仅移动端支持,PC端不支持)
无需任何权限,不保存不读取任何文件,不发送不接收任何网络请求,只有加密算法没有后门,可放心食用。
各位看官如有相关疑惑,烦请自行逆向或者自行阅读软件源码🙃
对应的桌面版加密器已经开发完成,让PC端和移动端都能够无缝互通,PC端需要Java运行环境,需自行安装😄

加密后的信息只有用正确的密码才能解出正确的明文;只要密码不泄露,加密内容就是安全的;
用技术为通讯自由保驾护航🤣

测试

密码:1234567890123456
密文:PiQeoEPW6w8jfsR+2CKinxfEX8dHP2qjhD/4nyKtWZQNy+KeobmQxhjdDp1woSDw6CdL/WhoZ4fE BfcyGs75j9tj0cHhYbJTY/+Dfsz/35MHbdBqEJACgf1uruqa0FMwjcUEziCZWiY9bWGoecN8p6zh GFWXklTjPZ3dfwma+8DrzwDU8Wi8aCCCONRJmo6RMkAH3t3Ig2Md11u/3V9XHjWrh08szORVsVoC tDa5d58zIDMOOMHaRW7+GKarp5HUfFdrZy4Ta91m+sOtlNT6a6/ElgyAn7PUOWTX5ZSqW1P+C6P0 6Ye/3kQY0R0QPWGOjeQRMpoMKAnZT2sDHhfXOgLYDNu2GeY3+EDjsqC9krQ5h9kMy4c4KqeeX0J+ KQuAvf+8JbRtOkgHyzfIEjlJBoID10WyWmo1miYF9R4DSaoJk7pCCjBGZr849Y/WbGfV3/C4OJwm JYYahYqfxau5KgThnQ/y

V1.0

运行效果


下载

该版本不提供下载

V1.1

运行效果

组件介绍

  • Plain Text文本框: 输入/显示明文内容
  • Password文本框: 用于AES加密的密码,16位密码对应AES-128加密,24位密码对应AES-192加密,32位密码对应AES-256加密
  • Encrypted Text文本框: 输入/显示密文内容

功能介绍

  • ENCRYPT->COPY: 加密明文后在Encrypted Text文本框中显示密文,和清空Plain Text文本框的内容,和把密文复制到剪贴板
  • 蓝色CLEAR: 清空Plain Text文本框的内容
  • x: 清空Plain Text文本框、Password文本框、Encrypted Text文本框和剪贴板的内容
  • DECRYPT: 解密当前Encrypted Text文本框中的内容并显示在Plain Text文本框中
  • P->D: 清空Encrypted Text文本框当前的内容并从剪贴板复制内容到Encrypted Text文本框并进行解密并显示明文到Plain Text文本框
  • 绿色CLEAR: 清空Encrypted Text文本框中当前的内容

下载

该版本不提供下载

V2.0

2.0版本于2021年4月1日0点53分正式完工,改名为MessageCipher
搭载RSA模块,用于加密和安全地传输AES密钥;RSA和AES模块都可独立运作
对应配套的桌面版本可以实现PC和安卓端的RSA和AES互通,签名部分不行(2个程序都要最新版的才行),PC端需要Java运行环境

Android运行效果




PC运行效果


功能介绍

不多介绍了,百度谷歌必应搜索RSA算法了解不对称加密在安全传输数据中的应用
程序本身的话,结合理论摸索一下就大概能明白怎么用了

下载

该版本不提供下载

V2.01更新版本

2021年10月1日具体更新 v2.01

代码修改部分:在PC和Android端的代码中的随机AES密码生成函数的内部变量中,原本大写字母‘i’的位置不知怎么搞的成了‘T’,还少了反斜杠‘\’,现已修正
编码全部更换为HEX并不再采用Base64,PC和Android端的所有功能已经互通互认
Android版本修改了部分视图效果和弹窗提示
随机AES密码默认32位长度(前版本默认16位)

下一个子版本(V2.2)将会是傻瓜化版本, 采用【纯公钥交换+随机密码】:只需通讯双方交换公钥即可进行加解密(AES随机密码32位并且不会显示密码,也没有密码输入框)

下一个大版本应该会增加语音和文件加密(iOS什么时候能用上取决于什么时候转到Flutter)

下载

请根据源码自行编译
MessageCipher V2.01

V2.1更新版本

2021年10月14日具体更新 v2.1

V2.01的更新版本,增加通讯录功能、双方纯RSA公钥交换通讯密钥功能、使用前身份验证功能、自毁功能 该版本的编码和算法和互通2.01版本,只要通讯密钥相同,2个版本都可以相互加解密通讯密文,但通讯密钥交换部分不相通,因为这个部分的数据结构和算法已经和以前的版本不一样了

运行效果






下载

请根据源码自行编译,这个有release的

源码

MessageCipher V2.1

V2.2更新版本

已经算是全新版本,毕竟数据结构和算法已经和以前的版本大不相同,此版本不发布(因为加密后的信息实在是太长了)

2021年10月10日具体更新 v2.2

采用交换公钥方式,每条消息都有独立的加密密钥,新增口令验证通讯录和自毁功能
集成旧版V2.01,新旧版本数据和算法不相通
MessageCipher V2.2 Android源码
PC版本的源码就没有了,各位看官可以根据数据结构和2.01版本的PC端源码自行修改

后记:AES加密填充模式

算法/模式/填充            16字节加密后数据长度        不满16字节加密后长度  
AES/CBC/NoPadding             16                          不支持  
AES/CBC/PKCS5Padding          32                          16  
AES/CBC/ISO10126Padding       32                          16  
AES/CFB/NoPadding             16                          原始数据长度  
AES/CFB/PKCS5Padding          32                          16  
AES/CFB/ISO10126Padding       32                          16  
AES/ECB/NoPadding             16                          不支持  
AES/ECB/PKCS5Padding          32                          16  
AES/ECB/ISO10126Padding       32                          16  
AES/OFB/NoPadding             16                          原始数据长度  
AES/OFB/PKCS5Padding          32                          16  
AES/OFB/ISO10126Padding       32                          16  
AES/PCBC/NoPadding            16                          不支持  
AES/PCBC/PKCS5Padding         32                          16  
AES/PCBC/ISO10126Padding      32                          16  

当原始数据长度为16的整数倍时,假如原始数据长度等于16n,则使用NoPadding时加密后数据长度等于16n,其它情况下加密数据长度等于16*(n+1)。在不足16的整数倍的情况下,假如原始数据长度等于16n+m[其中m小于16],除了NoPadding填充之外的任何方 式,加密数据长度都等于16(n+1);NoPadding填充情况下,CBC、ECB和PCBC三种模式是不支持的,CFB、OFB两种模式下则加密数据长度等于原始数据长度。