Flash本地加密的实现

加密

  首先我们来假设一个情况。
  我们要做一个flash,里面存了一段话,只想给知道密码的人看。通常的做法是检测用户的输入是否等于密码,然后显示。但是由于Flash是开放结构,所以swf文件可以反汇编然后看到密码,这时候就可以非法的看到要保护的东西了。

  但是如果通过一个不可逆的算法把密码加密,然后存在swf里面。然后把用户输入的密码也同样加密,然后比对加密以后的字串是否相等就可以了。因为swf里面保存的密码是不可逆的嘛~~

  不可逆的加密算法有很多种,最流行的就是md系列了,现在的是md5。md5可以计算认可字串的特征,然后归结到一个32字节长的字串里面,源字串一点点的改动就会造成特称字串巨大的变化。

  据个例子:

  "abc"的md5是900150983cd24fb0d6963f7d28e17f72
  "abb"的md5是ea01e5fd8e4d8832825acdd20eac5104

  为什么说不可逆呢?

  据个例子

  问题:1000是由什么数字相加而成的呢?
  答案是不知道~
  如果说是两个数字,那么我们可以有1+999或者500+500或者……但是三个、四个、直到n个数字呢?也就是说我们不可能知道原来的数字是什么,猜中的机会很小。而md5也是同样的原理,将每个字符的特征值相加再相加,自然就很难猜到原来是什么东西了~

  那么我们有了密码检测了~着时候需要一个可逆的加密算法来处理我们要保存的东西,因为要还原嘛~~这类算法很多,我选择了较流行的des算法

  des函数的定义是这样的
  des ("密码", "加密文本", 模式)

  模式=1的时候,des返回加密后的值
  模式=0的时候,des返回解密后的值

  但是由于des返回的值不一定是通用字符集里面的,所以我就做了一点处理,将des的值转成16进制字串,防止错误的产生。

  道理很明白了,怎么用呢~~首先,我们来创建密码的md5值,使用下面的函数:

/*E-mail: tsxy@21cn.comMoon.Blue*/var hexcase = 0;var b64pad  = "";var strsize   = 8; 

function md5(s){ return binl2hex(core_md5(str2binl(s), s.length * strsize));}function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * strsize));}function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * strsize));}function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); }function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); }function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); }

function core_md5(x, len){  x[len >> 5] 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索算法
, 密码
, 加密
, return
, function
, core data
, fb0
, 可逆加密
, 一个
, Flash简单加密
, 内置可逆加密
, 可逆加密解密类
, 可逆加密算法
不可逆加密算法
flash加密、flash加密软件、flash加密破解、可以加密的norflash、stm32 flash如何加密,以便于您获取更多的相关知识。

时间: 2024-10-16 05:51:28

Flash本地加密的实现的相关文章

ios-移动客户端本地加密方案

问题描述 移动客户端本地加密方案 需求是Android或ios应用内下载文件或数据到本地后能有一个加密方案使得这些文 件只有通过本应用看.查网上看到用sqlite加密(SQLCipher)是比较好的方案,问题是解密的秘钥放在哪里比较安全,另外除了数据加密存储之外还有其他好的方案吗? 解决方案 秘钥放在哪里都可以,关键是要把秘钥再加密,使用的时候解密,算法放在so文件中可以有效防止逆向破解 解决方案二: 看安全性级别了算法和key放so里是比较靠谱了,不过还是要保护好app别被反编译,否则别人一样

flash的加密过程如何用java实现加密解密

问题描述 flash的加密过程如何用java实现加密解密 解决方案 flash快完了,还是学学HTML5吧!

PHP Oauth授权和本地加密实现方法_php实例

1.Oauth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方 关键字:appKey appSecret token(令牌) 2.SSO授权 如果本地手机装有微博客户端,则直接跳转到微博客户端,只需点击授权按钮,就可以登陆了  qq第三方登陆使用Oauth2.0实现,测试代码 点击下面的连接 https://graph.qq.com/oauth2.0/authorize?response_type=

PHP Oauth授权和本地加密实现方法

1.Oauth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方 关键字:appKey appSecret token(令牌) 2.SSO授权 如果本地手机装有微博客户端,则直接跳转到微博客户端,只需点击授权按钮,就可以登陆了 qq第三方登陆使用Oauth2.0实现,测试代码 点击下面的连接 https://graph.qq.com/oauth2.0/authorize?response_type=c

本地加密-android本地文件加密该如何设计

问题描述 android本地文件加密该如何设计 最近遇到一个把本地文件加密的问题,不知道该如何解决.求各位大神给思路... 用对称加密,首先可破解不说,他解密后生成的临时文件也会被人看到,不安全. 也想过在文件头写点自己知道的东西,最后自己读的时候去掉,或者非对称加密,但是都要生成解密后真正可读的临时文件,临时文件就是个不安全的隐患,想过直接去读解密后放在内存里的字节数组,但是因为加密文件可能要给第三方应用读取,所以还是得生成个解密后真正可读的临时文件,这个临时文件该怎么放才会更安全?求大神们给

Flash简单加密 限制 Flash 在指定域名/网址中播放的方法_Flash教程

url = http://www.showhs.com;  /* 以下判断网址的前 21 个字符(字符数根据你的网址作相应修改),如果与"url"不一致则播放失败.注:swf 可以放在任意目录下,只要网址的前 21 个字符是正确的. */ if(_url.substring(0, 21)<>url){  gotoAndStop(2);  /* 这里可以做一些东西,例如:将发布设置中的"本地回放安全性"设为"只访问网络",然后在这里做无

技巧:利用javascript实现md5的本地加密

javascript|技巧|加密 md5($_POST['passwd']这就是php一般的加密方法,传过来后与数据库原来加密的md5代码进行比较 而下面介绍的方法是通过js来实现的md5,其实这种方法在很多其他的地方都有介绍,而yahoo,vBulletin 等等在没有用ssl加密登录时候就用这种方法,对密码加密 其实还有其他加密的部分方法也有实现:如md4/sha-1 首先你要去 md5的js下载地址/ 下载一个js的使用代码 调用: CODE: <script type="text/

Discuz!新版谍报安全篇:本地对登录密码加密 自定义后台登录文件名

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 细微之处见功夫,安全问题最重要的是细节上的留心,新版Discuz!在安全上也下足了功夫. 新版Discuz!采用独家研发的防陷落系统,经过数次优化.系统对管理后台权限进行了比较大的限制,管理后台所有数据亦严格过滤,并且对模板编辑.数据库导入等可能引起权限提升或者放置木马的操作进行了禁止.文件校验工具,帮助站长检查论坛程序文件,确保系统文件的完

教会你玩转网上娱乐Flash的妙招

如何将Flash转换为EXE文件 用一个小软件WinAFP(下载地址:http://www.skycn.com/soft/7101.html)可以轻松完成.它除了Flash播放的功能外,还有将SWF文件和EXE文件互换的功能.运行软件后,点击其面板上的"齿轮"设置按钮,进入它的格式转换对话框.首先勾选"SWF→EXE"选项,然后设置源文件和目标文件的路径,最后点击"转换"按钮.这样得到的EXE文件会比原SWF文件大了200至300多KB,这是因为