分享例程
界面截图:
备注说明:
-
本帖最后由 Gwinner 于 2012-8-11 09:21 编辑
Afl文本加解密 帮助 Afl 文本加解密 帮助:
----------------------------------------------------------------------------------------------
作者:Gner
版权:Allforlong 天远
QQ :812465371
反馈邮箱:812465371@qq.com
版本号:10010
时间:2012.07.16
-----------------------------------------------------------------------------------------------
简介:
本模块提供对文本数据的动态加密。
何为动态?
比如我们知道的网易游戏的将军令就是采用动态加密技术。当用户登录绑定有将军令的账号时,需要按一次手中的将军令获取一个密码,这个密码通常1分钟1变,而且没有任何规律可循。这样只要将军令不被盗,没人能登录您的账号。而将军令的这个密码就是动态的,是变化的。
而我这个模块,提供的对文本数据加密也是动态的。如图:
加密的数据同样是文本数据:tianyuan
每一秒我点击上诉测试软件中的写入按钮,都会生成一个新的加密后的数据,我用6秒点击了6次,本模块提供的加密为每一秒之间加密的数据加密后内容不同,如果你在1秒内运行2次加密,那加密后内容相同,而下一秒再运行加密,则加密后内容不同:
FTOF36◆3,3,3,3,3,3,3,3◆@J]CIm]C
FTTf42◆4,4,4,4,4,4,4,4◆PN$o[_$o
FTTs43◆5,5,5,5,5,5,5,5◆E_?UP[?U
FTTN44◆6,6,6,6,6,6,6,6◆8[n1EPn1
FTtO45◆7,7,7,7,7,7,7,7◆kPN.8EN.
FTtT46◆4,4,4,4,4,4,4,4◆Om;R@I;
上面6组数据都是“tianyuan”经过加密后得到的数据,我们每次单机按钮生成加密,都会生成不同的加密后的数据,而不是使用这种加密方式后,加密同一个数据每次得到的加密后的数据相同。但是这些加密后的数据,虽然不同,但是使用模块带的解密命令都可以把其解密为“tianyuan”这一个文本数据。意思就是,加密时是一对多,解密时是多对一。
可能有人问,是否会有 2 个文本数据经过加密后会生成同样的一个加密后的数据?
答:这是不可能的。因为加密后的这个数据,比如“FTTN44◆6,6,6,6,6,6,6,6◆8[n1EPn1”中自带有内部加密。所以加密解密都会是唯一的。不存在重复的问题。
注意 , 加密的是文本数据,加密时请提供要加密的文本数据作为参数,目前不支持对含有汉字,中文输入法状态下的部分特殊符号(即占用2个及以上字节的所有数据)进行加密。
安全性:
1.首先3个汉字,是一道安全措施,只有在解密时提供加密时的汉字才能解密成原数据。常用汉字上千,而且汉字的顺序是一定的,任选的3个汉字组合方式N多,所以别人不知道也不会解密出来的。比如,解密时:输入“天之远”“天远之”解密出的内容是不同的。
2.加密版本号,这是个解密参照表,91个支持的字符,任何一种排序都是一个新的版本号,可想排序方式有多少种。加密版本号不泄漏,他人也跟本解密不出正确数据。
3.加密的独有算法,在加密时,使用的是:时间 地点 + - * / 求取数 等相结合的杂乱加密。无从破J,加密是唯一的。
加密:
模块中加密的子程序如下 , 包含 3 个参数:
.子程序afl文本数据加密, 文本型, 公开
.参数进入的文本, 文本型
.参数三个加密汉字, 文本型, , 请输入3个汉字,不要偏僻字。重要数据,请牢记无泄漏
.参数加密版本号, 文本型, , 可选:10010 10012 10013 10014 10015 10016 10017 10018 共8个版本号。也可以自己创建,请参考创建规则
进入的文本 ,即为要加密的文本型数据,请指定。
三个加密汉字 ,请输入3个汉字,不要过于偏僻。这是一道安全防线,相当于二级密码一样的东西,解密时需要提供加密汉字。请牢记。同样的一个加密后的数据,解密时提供的三个汉字不同,会解密成不同的内容。所以解密时提供的三个汉字要和数据加密时提供的一样,才能保证解密后的内容为加密前的内容。
加密的版本号 ,又一道安全防线,程序自身提供有8个加密版本号,加密版本号不同,同一个数据加密后的内容不同也。解密时也需要提供和加密时相同的版本号才能成功解密。您也可以输入自创版本号,即输入一个91字节的版本号,详见版本号创建规则。如果使用自己的加密版本号,别人不知道你的版本号的具体内容时,是无论如何也不会破J加密内容的。因为加密版本号是一个加密参照表,没有正确的91字节的加密版本号是无法解密的。
数据安全,由三个加密汉字 和加密的版本号 进行了保证。
注意:
支持内容 ( 即加密内容的文本组成 ) 如下: ( 共 91 个文本字符 )
数字: 0 1 2 3 4 5 6 7 8 9
小写字母:q w e r t y u i o p l k j h g f d s a z x c v b n m
大写字母:Q W E R T Y U I O P L K J H G F D S A Z X C V B N M
字符: ~ @ # $ % ^ & * ( ) _ + / - + . { } [ ] : ; ' \ < > ? , 注意此处包含有一个英文输入状态下的空格
自创版本号规则 :把以上支持的91个文本字符,请按自己的顺序排序,所得出的即为自创版本号。
自创的版本号,也就为91字节长了,只能使用上诉提供的91个文本字符进行打乱排序,自创版本号长度必须为91字节,中间不能有2个相同的支持的91个文本字符中的字符,即上诉91个文本字符都用上。
比如:q w e r t y u i o p l k j h g f d s a z x c v b n m~ @ # $ % ^ & * ( ) _ + / - + . { } [ ] : ; ' \ < > ? , Q W E R T Y U I O P L K J H G F D S A Z X C V B N M0 1 2 3 4 5 6 7 8 9 我这样排序就是一个版本号。这一串可以输入到参数:加密版本号中作为加密或解密的版本号。
------------------------------------------------------------------------------------------------
推荐使用模块自带的 : 解析版本号生成 () 命令生成。
.子程序解析版本号生成, 文本型, 公开, 若生成文件,以后直接调用文件时,文件内前91个字符内容即为版本信息。
.参数是否复制到剪切板, 逻辑型
.参数写至文件, 文本型, 可空, 若写到文件,请提供完整的写至文件的路径包含名称。eg:e:\temp\新版本号.txt 注意:上级目录必须存在,文件名后缀名也要写,后缀名可自由写。您可以在文件备注里把备注写入到文件也。
.参数文件备注, 文本型, 可空, 文件第二行为备注内容
自己创建生成的版本号请牢记,解密要用。
加密后返回值为3 部分,您可以以“◆”分割文本成3 部分。以方便处理。
您加密数据时应牢记的内容:加密的3 个汉字 版本号 加密后第二个“◆”前面的所有内容。
解密:
.子程序afl文本数据解密, 文本型, 公开
.参数加密前缀, 文本型, , 即加密后数据到第一个“◆”之前的字节内容。eg:OTTs36◆6,6,6,6,6,6,6,6◆t+B5<DKr 中的“OTTs36”
.参数分段商值, 文本型, , 第一个“◆”和第二个“◆”之间的内容。 eg:OTTs36◆6,6,6,6,6,6,6,6◆t+B5<DKr 中的“6,6,6,6,6,6,6,6”
.参数解密数据, 文本型, , 第二个“◆”之后的内容。 eg:OTTs36◆6,6,6,6,6,6,6,6◆t+B5<DKr 中的“t+B5<DKr”
.参数加密汉字, 文本型
.参数解析版本号, 文本型, , 加密时的版本号。若存在于文件中,请把文件的前91个字节内容转换成文本格式输入
推荐使用范围:
1.编写的程序对于重要数据以及私人化很强的数据进行的保密。比如:存有 用户名 密码 电话号码 等这些不想以明文显示的数据。
2.程序运行目录下保存的一些程序应用文档,文件,比如:配置项里的数据加密。 还比如登录一个网上FTP的用户名和密码,如果FTP的地址有时变化,那么程序中不能写死了代码,只能从配置文件中获取最新的地址,此时,把FTP信息加密后放在程序目录里,也无人能破J其内容。
3.推荐使用在2个软件的信息远程传输上。比如:远程的 客户端 和 服务端 之间的数据传输。如果我们把服务端加上本模块中的解密命令,先固定确定了解密的参数:三个汉字 版本号 ,那么收到的数据只有经过本服务端才能解密出正确的内容。因为汉字和版本号,只有设计者知道。安全性非常高。
---------------------------------------------------------------------------------------------------
很简单,填入相应的参数,进行加密后的数据的解密。不做详细介绍了。
获取更多帮助,与信息,请访问:
http://hi.baidu.com/new/gnersky
作者:Gner
QQ:812465371
邮箱:812465371@qq.com