文档库 最新最全的文档下载
当前位置:文档库 › php自带加密解密函数

php自带加密解密函数

php自带加密解密函数

php自带加密解密函数

2011-11-01 09:57 2121人阅读评论(0) 收藏举报

加密解密phpstringunix网络

不可逆的加密函数为:md5()、crypt()

md5() 用来计算 MD5 哈稀。语法为:string md5(string str);

crypt() 将字符串用 UNIX 的标准加密 DES 模块加密。这是单向的加密函数,无法解密。

欲比对字符串,将已加密的字符串的头二个字符放在 salt 的参数中,再比对加密后的字符串。语法为:string crypt(string str, string [salt]);

可逆转的加密为:base64_encode()、urlencode() 相对应的解密函数:base64_decode() 、urldecode()

base64_encode() 将字符串以 MIME BASE64 编码。此编码方式可以让中文字或者图片也

能在网络上顺利传输。语法为string base64_encode(string data); 它的解密函数为:string base64_decode(string encoded_data); 将复回原样

urlencode() 将字符串以 URL 编码。例如空格就会变成加号。语法为:string

urlencode(string str);

它的解密函数为:string urldecode(string str); 将复回原样

网络安全常见的四种加密解密算法

package mima; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class Mainer { StringBuffer MStr = new StringBuffer(""); // 加密字符串 StringBuffer CStr = new StringBuffer(""); // 解密字符串 public static void main(String[] args) { System.out.print("请输入密钥:"); Scanner s = new Scanner(System.in); int key = s.nextInt() % 26; // %26的意义是获取密钥的偏移值 Mainer ks = new Mainer(); ks.E(key); // 加密 ks.D(key); // 解密 } /** * 加密公式 */ void E(int k) { try { System.out.println("请输入一段明文:"); char b[]; BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in)); String str2 = br2.readLine(); b = str2.toCharArray(); char ch = ' '; for (int i = 0; i < str2.length(); i++) { if (b[i] >= 'a' && b[i] <= 'z') { ch = (char) ((b[i] - 'a' + k) % 26 + 'a'); } if(b[i] >= 'A' && b[i] <= 'Z'){ ch = (char) ((b[i] - 'A' + k) % 26 + 'A'); } if(b[i]>='0'&&b[i]<='9')

完整的WordPress函数大全

完整的WordPress函数大全 在修改和制作Wordpress主题时经常为不知道内置函数而苦恼,而wordpress官方的文档看起来又不是那么方便。所搜集并且整理了一下放这,以备后用。 判断页面函数 is_home() : 是否为主页 is_single() : 是否为内容页(P ost) is_page() : 是否为内容页(Page) is_category() : 是否为Category/Archive页 is_tag() : 是否为Tag存档页 is_date() : 是否为指定日期存档页 is_year() : 是否为指定年份存档页 is_month() : 是否为指定月份存档页 is_day() : 是否为指定日存档页 is_time() : 是否为指定时间存档页 is_archive() : 是否为存档页 is_search() : 是否为搜索结果页

is_404() : 是否为“HTTP 404: Not Found”错误页 is_paged() : 主页/Category/Archive页是否以多页显示 Header部分常用到的PHP函数 : 博客名称(Title) : CSS文件路径 : PingBack Url : 模板文件路径 : WordPress版本 : Atom Url : RSS 2.o Url : 博客Url : 博客网页Html类型 : 博客网页编码 : 博客描述

加密解密程序设计

课程设计 题目加密解密程序设计 学院自动化学院 专业电气工程及其自动化班级 姓名 指导教师 年月9 日

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:自动化学院 题目:加密解密程序设计 初始条件: 掌握8086汇编语言程序设计方法,设计一个电子时钟,实现分、秒、时的显示与刷新功能。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1. 定义显示界面。 2. 调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区。 3. 将存在系统内存区的时间数用数字式或指针式钟表的形式显示出来。 4. 获取键盘的按键值,判断键值并退出系统。 5. 撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。 时间安排: 12月26日-----12月28日查阅资料及方案设计 12月29日----- 1月 2 日编程 1月3日----- 1月7日调试程序 1月8日----- 1月9日撰写课程设计报告 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (1) 1设计任务及要求 (2) 1.1 加密解密设计的意义 (2) 1.2 程序设计任务 (2) 2 加密方法及方案比较 (3) 2.1 加密方法 (3) 2.2 加密方案及比较 (3) 3 加密解密设计流程及描述 (5) 3.1程序所需模块 (5) 3.2程序运行界面 (5) 3.3响铃程序 (6) 3.4功能选择程序 (6) 3.5数据循环输入子程序 (7) 3.6加密过程程序 (8) 3.7解密过程程序 (9) 3.8退出程序 (10) 3.9总体程序流程图 (11) 4 程序调试说明和结果分析 (12) 4.1 程序调试 (12) 4.2 程序运行结果 (12) 5 心得体会 (15) 参考文献 (16) 附录:设计原程序 (17) 本科生课程设计成绩评定

几种常用的数据加密技术

《Network Security Technology》Experiment Guide Encryption Algorithm Lecture Code: 011184 Experiment Title:加密算法 KeyWords:MD5, PGP, RSA Lecturer:Dong Wang Time:Week 04 Location:Training Building 401 Teaching Audience:09Net1&2 October 10, 2011

实验目的: 1,通过对MD5加密和破解工具的使用,掌握MD5算法的作用并了解其安全性; 2,通过对PGP加密系统的使用,掌握PGP加密算法的作用并了解其安全性; 3,对比MD5和PGP两种加密算法,了解它们的优缺点,并总结对比方法。 实验环境: 2k3一台,XP一台,确保相互ping通; 实验工具:MD5V erify, MD5Crack, RSA-Tools,PGP8.1 MD5加密算法介绍 当前广泛存在有两种加密方式,单向加密和双向加密。双向加密是加密算法中最常用的,它将明文数据加密为密文数据,可以使用一定的算法将密文解密为明文。双向加密适合于隐秘通讯,比如,我们在网上购物的时候,需要向网站提交信用卡密码,我们当然不希望我们的数据直接在网上明文传送,因为这样很可能被别的用户“偷听”,我们希望我们的信用卡密码是通过加密以后,再在网络传送,这样,网站接受到我们的数据以后,通过解密算法就可以得到准确的信用卡账号。 单向加密刚好相反,只能对数据进行加密,也就是说,没有办法对加密以后的数据进行解密。这有什么用处?在实际中的一个应用就是数据库中的用户信息加密,当用户创建一个新的账号或者密码,他的信息不是直接保存到数据库,而是经过一次加密以后再保存,这样,即使这些信息被泄露,也不能立即理解这些信息的真正含义。 MD5就是采用单向加密的加密算法,对于MD5而言,有两个特性是很重要的,第一是任意两段明文数据,加密以后的密文不能是相同的;第二是任意一段明文数据,经过加密以后,其结果必须永远是不变的。前者的意思是不可能有任意两段明文加密以后得到相同的密文,后者的意思是如果我们加密特定的数据,得到的密文一定是相同的。不可恢复性是MD5算法的最大特点。 实验步骤- MD5加密与破解: 1,运行MD5Verify.exe,输入加密内容‘姓名(英字)’,生成MD5密文;

加密解密软件的设计与实现

课程设计任务书 2010—2011学年第二学期 专业:计算机科学与技术学号:080101010 姓名:刘海坤 课程设计名称:计算机网络课程设计 设计题目:加密解密软件的设计与实现 完成期限:自2011 年 6 月21 日至2011 年 6 月26 日共 1 周 设计目的: 本程序设计所采用的就是DES算法,同时利用Java的GUI编程,生成文本对话框,对文件的路径进行选择、提供密钥框、加密和解密按钮。 功能要求:根据DES算法,设计加密解密软件来为各种文件加密解密。 一、设计的任务:根据设计整体需求,本人负责窗体的设计与实现和目标文件 的导入模块。 二、进度安排: 三、主要参考资料: [1] 谢希仁.计算机网络教程.北京: 人民邮电出版社,2006. [2] 耿祥义.Java2使用教程:清华大学出版社,2006. [3] 方敏,张彤.网络应用程序设计.西安:电子科技大学出版社,2005. [4] 黄超.Windows下的网络编程.北京:人民邮电出版社,2003. 指导教师(签字):教研室主任(签字): 批准日期:年月日

摘要 随着计算机的应用和网络技术的不断发展,网络间的通讯量不断的加大,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的保护,文件加密技术也就随之产生。文件的加密主要是由加密算法实现,加密算法有多种,常见的有RSA、DES、MD5等。本程序设计对文件的加密使用的是DES加密算法。 DES是分块加密的。DES用软件进行解码需要用很长时间,而用硬件解码速度非常快,1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。所以,当时DES被认为是一种十分强壮的加密方法。但今天,只需二十万美元就可以制造一台破译DES的特殊的计算机,所以现在 DES 对要求“强壮”加密的场合已经不再适用了。 Java语言具有简单、安全、可移植、面向对象、健壮、多线程、体系结构中立、解释执行、高性能、分布式和动态等主要特点。利用Java语言中秘密密钥工厂对DES算法的支持,使程序实现文件加密、解密两大功能更简单。 本程序设计所采用的就是DES算法。同时利用Java的GUI编程,生成文本对话框,对文件的路径进行选择、提供密钥框、加密和解密按钮。 使用本程序可以对txt,word等多种文件进行加密解密,使用便捷实用,功能完善,满足了用户对文件安全性的需求。 关键词:JA V A ,DES,加密,解密。

数据加密实验报告

实验报告 课程:计算机保密_ _ 实验名称:数据的加密与解密_ _ 院系(部):计科院_ _ 专业班级:计科11001班_ _ 学号: 201003647_ _ 实验日期: 2013-4-25_ _ 姓名: _刘雄 _ 报告日期: _2013-5-1 _ 报告评分:教师签字:

一. 实验名称 数据加密与解密 二.运行环境 Windows XP系统 IE浏览器 三.实验目的 熟悉加密解密的处理过程,了解基本的加密解密算法。尝试编制基本的加密解密程序。掌握信息认证技术。 四.实验内容及步骤 1、安装运行常用的加解密软件。 2、掌握加解密软件的实际运用。 *3、编写凯撒密码实现、维吉尼亚表加密等置换和替换加解密程序。 4、掌握信息认证的方法及完整性认证。 (1)安装运行常用的加解密软件,掌握加解密软件的实际运用 任务一:通过安装运行加密解密软件(Apocalypso.exe;RSATool.exe;SWriter.exe等(参见:实验一指导))的实际运用,了解并掌握对称密码体系DES、IDEA、AES等算法,及非对称密码体制RSA等算法实施加密加密的原理及技术。 ?DES:加密解密是一种分组加密算法,输入的明文为64位,密钥为56位,生成的密文为64位。 ?BlowFish:算法用来加密64Bit长度的字符串或文件和文件夹加密软件。 ?Gost(Gosudarstvennyi Standard):算法是一种由前苏联设计的类似DES算法的分组密码算法。它是一个64位分组及256位密钥的采用32轮简单迭代型加密算法. ?IDEA:国际数据加密算法:使用128 位密钥提供非常强的安全性; ?Rijndael:是带有可变块长和可变密钥长度的迭代块密码(AES 算法)。块长和密钥长度可以分别指定成128、192 或256 位。 ?MISTY1:它用128位密钥对64位数据进行不确定轮回的加密。文档分为两部分:密钥产生部分和数据随机化部分。 ?Twofish:同Blowfish一样,Twofish使用分组加密机制。它使用任何长度为256比特的单个密钥,对如智能卡的微处理器和嵌入在硬件中运行的软件很有效。它允许使用者调节加密速度,密钥安装时间,和编码大小来平衡性能。 ?Cast-256:AES 算法的一种。 (同学们也可自己下载相应的加解密软件,应用并分析加解密过程) 任务二:下载带MD5验证码的软件(如:https://www.wendangku.net/doc/4214591314.html,/downloads/installer/下载(MySQL):Windows (x86, 32-bit), MSI Installer 5.6.11、1.5M;MD5码: 20f788b009a7af437ff4abce8fb3a7d1),使用MD5Verify工具对刚下载的软件生成信息摘要,并与原来的MD5码比较以确定所下载软件的完整性。或用两款不同的MD5软件对同一文件提取信息摘要,而后比较是否一致,由此可进行文件的完整性认证。

PHP简答题大题(含答案)

重要知识点: 1、变量赋值方式有哪几种? 1)直接赋值 $str = 123; 2)变量间赋值 $arr = array(); $arr[] = 123; $arr[] = 456; $a; $a = 123; 3)引用赋值 $a = 123; $b = $a; 2、引用和拷贝有什么区别? 拷贝是将原来的变量内容复制下来,拷贝后的变量与原来的变量使用各自的内存,互不干扰。 引用相当于是变量的别名,其实就是用不同的名字访问同一个变量内容。当改变其中一个变量的值时,另一个也跟着发生变化。 3、 php中变量有哪些基本数据类型? php支持8种原始数据类型。 包括: 四种标量类型(布尔型boolean,整型interger,浮点型float/double , 字符串string)两种复合类型(数组array ,对象object) 两种特殊类型(资源resource,NULL) 4、其它类型转换为boolean类型时,哪些被认为是false? 布尔值false,整型值0,浮点型值0.0,空白字符串,字符串'0', 空数组, 空对象,特殊数据类型NULL, 没有设定的变量。 empty()函数在哪些情况下返回true? 布尔值false,整型值0,浮点型值0.0,空白字符串,字符串'0', array()空数组,特殊数据类型NULL, 没有任何属性的对象,没有赋值的变量。 5、常量和变量有哪些区别? 1)常量前没有$符号; 2)常量只能通过define()定义,而不能通过赋值语句定义; 3)常量可以在任何地方定义和访问,而变量定义的反问有固定的规则; 4)常量一旦定义就不能被重新定义或者取消定义,而变量而通过赋值方式重新定义; 5)常量的值只能是标量数据,而变量的数据库类型有8中原始数据类型。 6、函数的优越性有哪些? 提高程序的可维护性 提高软件的可靠性 提高程序的可重用性 提高程序的开发效率

数据加密方案

数据加密方案

一、什么是数据加密 1、数据加密的定义 数据加密又称密码学,它是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。 2、加密方式分类 数据加密技术要求只有在指定的用户或网络下,才能解除密码而获得原来的数据,这就需要给数据发送方和接受方以一些特殊的信息用于加解密,这就是所谓的密钥。其密钥的值是从大量的随机数中选取的。按加密算法分为对称密钥和非对称密钥两种。 对称密钥:加密和解密时使用同一个密钥,即同一个算法。如DES和MIT的Kerberos算法。单密钥是最简单方式,通信双方必须交换彼此密钥,当需给对方发信息时,用自己的加密密钥进行加密,而在接收方收到数据后,用对方所给的密钥进行解密。当一个文本要加密传送时,该文本用密钥加密构成密文,密文在信道上传送,收到密文后用同一个密钥将密文解出来,形成普通文体供阅读。在对称密钥中,密钥的管理极为重要,一旦密钥丢失,密文将无密可保。这种

方式在与多方通信时因为需要保存很多密钥而变得很复杂,而且密钥本身的安全就是一个问题。 对称加密 对称密钥是最古老的,一般说“密电码”采用的就是对称密钥。由于对称密钥运算量小、速度快、安全强度高,因而如今仍广泛被采用。 DES是一种数据分组的加密算法,它将数据分成长度为64位的数据块,其中8位用作奇偶校验,剩余的56位作为密码的长度。第一步将原文进行置换,得到64位的杂乱无章的数据组;第二步将其分成均等两段;第三步用加密函数进行变换,并在给定的密钥参数条件下,进行多次迭代而得到加密密文。 非对称密钥:非对称密钥由于两个密钥(加密密钥和解密密钥)各不相同,因而可以将一个密钥公开,而将另一个密钥保密,同样可以起到加密的作用。

常用函数 类参考

全局函数1、common.func.php 公用函数 获得当前的脚本网址 function GetCurUrl() 返回格林威治标准时间 function MyDate($format='Y-m-d H:i:s',$timest=0) 把全角数字转为半角 function GetAlabNum($fnum) 把含HTML的内容转为纯text function Html2Text($str,$r=0) 把文本转HTML function Text2Html($txt) 输出Ajax头 function AjaxHead() 中文截取2,单字节截取模式 function cn_substr($str,$slen,$startdd=0) 把标准时间转为Unix时间戳 function GetMkTime($dtime) 获得一个0000-00-00 00:00:00 标准格式的时间 function GetDateTimeMk($mktime) 获得一个0000-00-00 标准格式的日期 function GetDateMk($mktime) 获得用户IP function GetIP() 获取拼音以gbk编码为准 function GetPinyin($str,$ishead=0,$isclose=1)

dedecms通用消息提示框 function ShowMsg($msg,$gourl,$onlymsg=0,$limittime=0) 保存一个cookie function PutCookie($key,$value,$kptime=0,$pa="/") 删除一个cookie function DropCookie($key) 获取cookie function GetCookie($key) 获取验证码 function GetCkVdValue() 过滤前台用户输入的文本内容 // $rptype = 0 表示仅替换html标记 // $rptype = 1 表示替换html标记同时去除连续空白字符// $rptype = 2 表示替换html标记同时去除所有空白字符// $rptype = -1 表示仅替换html危险的标记 function HtmlReplace($str,$rptype=0) 获得某文档的所有tag function GetTags($aid) 过滤用于搜索的字符串 function FilterSearch($keyword) 处理禁用HTML但允许换行的内容 function TrimMsg($msg) 获取单篇文档信息 function GetOneArchive($aid)

加密解密程序实验报告

程序设计实践 加密解密程序实验报告 课题概述 1.1课题目标和主要内容: 利用MFC类或者win32编写windows程序,实现加密解密的功能。 1.2系统的主要功能: 1.实现用户界面友好的操作。 2.具有对称编码体制,可以实现: i.凯撒密码:能够自定义密钥,自由输入明文,进行加密、解密,在对话框中返回加密和 解密后的内容。

ii.置换密码:能够自定义密钥,自由输入明文,经矩阵变换进行加密、解密,在对话框中返回加密和解密后的内容 iii.对称加密DES:用MFC调用WIN32编写的程序,在用户友好界面操作的同时显示程序加密,解密结果。 3.具有非对称编码体制: i. RSA加密解密:随机产生p,q,经检验是否互质,若不互质接着产生两个随机数,直 到二者互质为止。自动生成p,q,N及加密解密的密钥,可以自由输入明文,返回加密、 解密的内容。 ii. MD5消息摘要计算:用MFC调用WIN32编写的程序,在用户友好界面操作的同时显示程序的加密结果。 4.信息隐藏技术: 用LSB在图片(bmp格式,任意位置的图片)中写入信息,读取信息并显示出来,可 以擦除信息。可以自定义密钥。 5. AES加密解密:用MFC调用WIN32编写的程序,在用户友好界面操作的同时显示程序 加密,解密结果。 6. 以上的所有对文字加密解密的方法(除LSB以外其余所有方法),都可以用于文件加 密,解密,并能够及时保存加密,解密的信息到一个TXT文档,可以存在用户想存放 的地方。 7.更多: 链接了一个可加密解密,功能更为齐全的网站,若是上述方法不能满足用户需求, 可以在程序运行的窗口中点击相应按钮,在联网的条件下进行在线加密解密。 一、系统设计 2.1系统总体框架: 2.2主要的层次逻辑为:

常见格式文件的加密和解密

常用格式文件的加密解密方法 庆云县水务局项目办 二〇一二年五月二十三日

目录 0、引子 1 1、新建word文件的加密方法1 1.1任务1 1.2基本步骤1 1.3示范1 2、原有word文件的加密方法4 3、Excel文件的加密方法 4 3.1任务4 3.2基本步骤4 3.3示范4 4、CAD文件的加密方法 5 4.1任务5 4.2基本步骤6 4.3示范6 5、文件的解密方法8 5.1任务8 5.2基本步骤8 5.3示范8

0、引子 我们的日常工作,往往是处理一些文字、表格和图纸。最常用的文件格式有word、excel和CAD。怎样加密、解密这些格式的文件,是我们常遇到的问题。由于文件的加密、解密方法大致一样,所以,这里只介绍这三种文件的加密解密方法。其它格式的文件加密解密,可以参照进行。 加密解密文件需要知道文件格式的后缀名,后缀名又称文件扩展名,是操作系统用来标志文件格式的一种机制。通常来说,一个扩展名是跟在主文件名后面的,由一个分隔符分隔。如文件名“readme.txt”中,readme是主文件名,.txt为扩展名,表示这个文件被认为是一个纯文本文件。常见文档类型及其后缀名和打开方式详见下表。 常见文档类型及其后缀名和打开方式: 1、新建word文件的加密方法 1.1任务 对新建word文档1(未曾保存)进行加密 1.2基本步骤 ①打开菜单“文件”→②点击“另存为”选项→③点击“工具”按钮→④选定“安全措施选项(C)”→⑤输入密码→⑥确定→⑦再次输入密码→⑧确定→⑨保存。 1.3示范 ①打开菜单“文件”:点击菜单栏最左侧的“文件”按钮,弹出“文件”下拉列表; ②点击“另存为”选项:点击“文件”下拉列表的“另存为”选项,弹出“另存为”对话框,如图1所示。

实现加密解密程序

目录 一.摘要 (1) 二.网络安全简 (2) 安全技术手段 (3) 三.现代密码技术分类 (3) 1.对称密码体制 (4) 2.非对称密码体制 (4) 四.RSA加密解密体制 (5) 1.RSA公钥密码体制概述 (5) 2.RSA公钥密码体制的安全性 (6) 3.RSA算法工作原理 (6) 五.实现RSA加密解密算法 (7) 六.RSA的安全性 (11) 七.结语 (13)

实现加密解密程序 摘要:随着计算机网络的广泛应用,网络信息安全的重要性也日渐突出,计算机信息的保密问题显得越来越重要,无论是个人信息通信还是电子商务发展,都迫切需要保证Internet网上信息传输的安全,需要保证信息安全;网络安全也已经成为国家、国防及国民经济的重要组成部分。密码技术是保护信息安全的最主要手段之一。使用密码技术可以防止信息被篡改、伪造和假冒。加密算法:将普通信息(明文)转换成难以理解的资料(密文)的过程;解密算法则是其相反的过程:由密文转换回明文;密码机包含了这两种算法,一般加密即同时指称加密与解密的技术。 关键字:密码技术、加密算法、解密算法、密码机、RSA 正文 一、网络安全简介 网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。网络安全从其本质上来讲就是网络上的信息安全。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全的研究领域。网络安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性学科。 网络安全的具体含义会随着“角度”的变化而变化。比如:从用户(个人、企业等)的角度来说,他们希望涉及个人隐私或商业利益的信息在网络上传输时受到机密性、完整性和真实性的保护,避免其他人或对手利用窃听、冒充、篡改、抵赖等手段侵犯用户的利益和隐私。 二、安全技术手段

常见硬盘加密解密的几种方法解析

常见硬盘加密解密的几种方法解析 一、修改硬盘分区表信息 硬盘分区表信息对硬盘的启动至关重要,假设找不到有效的分区表,将不能从硬盘启动或即使从软盘启动也找不到硬盘。素日,第一个分区表项的第0子节为80H,透露显示C 盘为活动DOS分区,硬盘能否自举就依*它。若将该字节改为00H,则不能从硬盘启动,但从软盘启动后,硬盘仍然可以接见。分区表的第4字节是分区类型标志,第一分区的此处素日为06H,透露显示C盘为活动DOS分区,若对第一分区的此处中止批改可对硬盘起到一定加密浸染。 详细表现为: 1.若将该字节改为0,则透露显示该分区未运用,当然不能再从C盘启动了。从软盘启动后,原来的C盘不见了,你看到的C盘是原来的D盘,D盘是原来的E盘,依此类推。 2.若将此处字节改为05H,则不但不能从硬盘启动,即使从软盘启动,硬盘的每个逻辑盘都弗成接见,多么等于整个硬盘被加密了。另外,硬盘主指导记录的有效标志是该扇区的最后两字节为55AAH。若将这两字节变为0,也可以完成对整个硬盘加锁而不能被接见。硬盘分区表在物理0柱面0磁头1扇区,可以用Norton for Win95中的Diskedit直接将该扇区调出并批改后存盘。或者在Debug下用INT 13H的02H子功用将0柱面0磁头1扇区读到内存,在响应位置中止批改,再用INT 13H的03H子功用写入0柱面0磁头1扇区就可以了。

上面的加密措置,对通俗用户来讲已足够了。但对有阅历的用户,即使硬盘弗成接见,也可以用INT 13H的02H子功用将0柱面0磁头1扇区读出,根据阅历将响应位置数据中止批改,可以完成对硬盘解锁,因为这些位置的数据素日是固定的或有限的几种景遇。另外一种保险但显得笨拙的方法是将硬盘的分区表项备份起来,然后将其悉数变为0,多么别人由于不知道分区信息,就无法对硬盘解锁和接见硬盘了。 二、对硬盘启动加口令 我们知道,在CMOS中可以设置系统口令,使非法用户无法启动比赛争论机,当然也就无法运用硬盘了。但这并未真正锁住硬盘,因为只需将硬盘挂在其他比赛争论机上,硬盘上的数据和软件仍可运用。要对硬盘启动加口令,可以首先将硬盘0柱面0磁头1扇区的主指导记录和分区信息都储存在硬盘并不运用的隐含扇区,比如0柱面0磁头3扇区。然后用Debug重写一个不超越512字节的轨范(理论上100多字节足矣)装载到硬盘0柱面0磁头1扇区。该轨范的功用是执行它时首先需求输进口令,若口令纰谬则进入死轮回;若口令正确则读取硬盘上存有主指导记录和分区信息的隐含扇区(0柱面0磁头3扇区),并转去执行主指导记录。 由于硬盘启动时首先是BIOS调用自举轨范INT 19H将主硬盘的0柱面0磁头1扇区的主指导记录读入内存0000:7C00H处执行,而我们曾经偷梁换柱,将0柱面0磁头1扇区变为我们自己设计的轨范。多么从硬盘启动时,首先执行的不是主指导轨范,而是我们设计的轨范。在执行我们设计的轨范时,口令若纰谬则无法继续执行,也就无法启动了。即使从软盘启动,由于0柱面0磁头1扇区不再有分区信息,硬盘也不能被接见了。当然还可以将我们设计的轨范像病毒一样,将个中一部分驻留在高端内存,看守INT 13H的运用,防止0柱面0磁头1扇区被改写。

THINKSNS常用函数

Thinksns常用函数一览表: 以下是extend.php: *function get_client_ip(){}获取客户端IP地址 *function msubstr($str,$start=0,$length,$charset="utf-8",$suffix=true)字符串截取,支持中文和其它编码 *function mStr($str,$length,$charset="utf-8",$suffix=true)字符串截取,支持中文和其它编码 *function rand_string($len=6,$type='',$addChars='')产生随机字串,可用来自动生成密码默认长度6位字母和数字混合 *function build_verify($length=4,$mode=1)获取登录验证码默认为4位数字 *function byte_format($size,$dec=2)字节格式化把字节数格式为B K M G T描述的大小 *function is_utf8($string)检查字符串是否是UTF8编码 *function highlight_code($str,$show=false)代码加亮 *function h($text,$type,$tagsMethod=true,$attrMethod=true,$xssAuto= 1,$tags=array(),$attr=array(),$tagsBlack=array(),$attrBlack=array())过滤得到安全的html //function h($text,$tags=null)输出安全的html //function text($text,$parseBr=false)输出纯文本 function safe($text,$type='html',$tagsMethod=true,$attrMethod=true,$xssAuto= 1,$tags=array(),$attr=array(),$tagsBlack=array(),$attrBlack=array()) *function t($text,$parse_br=false,$quote_style=ENT_NOQUOTES)转换为安全的纯文本 //function unescape($str)解析jsescape //function ubb($Text)解析UBB //function build_count_rand($number,$length=4,$mode=1)随机生成一组字符串 function remove_xss($val) *function list_to_tree($list,$pk='id',$pid='pid',$child='_child',$root=0) *function list_sort_by($list,$field,$sortby='asc')对查询结果集进行排序 *function list_search($list,$condition)在数据列表中搜索 //function send_http_status($status)发送Http状态信息 //function send_http_header($type='utf8')发送常用http header信息 //function imagecreatefrombmp($fname)bmp图像处理兼容函数 //function imagebmp(&$im,$filename='',$bit=8,$compression=0)bmp图像处理兼容函数 *function friendlyDate($sTime,$type='normal',$alt='false')友好的时间显示 *function dateFormat($sTime,$format=null)时间显示 //function getMid()获取当前登录用户的UID //function getUserName($uid,$lang='zh')获取用户姓名 *function getUserAtString($uid,$type='uid')获取用户Gid[Mentor项目] //function getUserSpace($uid,$class,$target,$text,$icon=true)返回解析的空间地址 //function getUserInfo($uid,$uname,$mid,$status=false)获取用户详细信息 *function getFollowState($uid,$fid,$type=0)获取关注状态 *function isfavorited($weibo_id,$uid,$weibo_id_array=null,$key='')检查给定用户是否收藏给定微博 *function isBlackList($uid,$fid)是否为黑名单成员 *function getUserFace($uid,$size)获取用户头像 function getUserFace($uid,$size) //function convertUidToPath($uid)将用户ID转换为三级路径 //function getUserGroupIcon($uid)获取给定用户的用户组图标 function getSubBeKeyArray($origin,$key) *function getSubByKey($pArray,$pKey="",$pCondition="")去一个二维数组中的每个数组的固定的键知道的值来形成一个新的一维数组

文件加解密处理程序文件

程序设计报告 ( 2012 /2013 学年第一学期) 题目:文件加解密处理程序 专业 学生姓名 班级学号 指导教师燕俐 指导单位计算机系统结构与网络教学中心日期 2012.12.10~12.21

一、课题容及要求 1.功能要求 编写一个对文件(由数字或字母组成)进行加密解密的程序。可以将所需要的容(整个文件或者输入的一行字符)加密,也可以将存储的加密文件翻译回来。例如加密时可以将选取容的每个字符依次反复加上”49632873”中的数字,如果围超过ASCII码值的032(空格)—122(‘z’),则进行模运算(既N%122).解密与加密的顺序相反。 2.菜单要求: 从键盘输入要进行加密的一行字符串或者需要加密的文件名。显示菜单: 1.设置加密方法 2.加密 3.解密 4.显示原始文件和解密文件 选择菜单,进行相应的操作。加密方法是设置一加密字符串以及对文件的哪些部分进行加密;加密是将原始文件加密并保存到文件中;解密是将加了密的文件还原并保存到文件中,同时应比较与原始文件的一致性;显示是将文件在屏幕上显示出来,供人工校对。 3. 程序设计参考思路: (1)定义原始文件sourse.txt、加密文件result.txt和还原文件recall.txt (2) 程序模块及函数功能: (1)在屏幕上显示文件 void printtxt(); (2)加密void encode(); (3)解密void decode(); (4)文件比较void cmptxt(); 4.需要的知识: (1)文件读取写入操作语言 (2)字符串的处理,如何对字符进行加减操作,并保证加减后的数值处于某一围之(模运算) (3)了解加解密的基本原理 二、需求分析

几种常用的单片机加密方法

几种常用的单片机加密方法 一、加密方法 1、烧断数据总线。这个方法我想应不错,但应有损坏的风险,听说也能**。 2、芯片打磨改型,这个方法有一定作用,改了型号能误导,但同时也增加成本,解密者一般也能分析出来。 3、用不合格的单片机的的存储器:这个方法听起来不错,值得一试。很多单片机有这种情况,有的是小容量改为大容量来用,**者应很难发现。例:8031/8052 单片机就是8731/8752掩模产品中的不合格产品,内部可能有ROM。可把8031/8052 当8751/8752 来用.但使用时要测试可靠。 4、其他还有添加外部硬件电路的加密方法。但那样增加成本,效果不一定好。 5、软件加密,是一些防止别人读懂程序的方法,单一的这种方法不能防止别人全盘复制。须配合其他的加密方法。 6、通过序列号加密, 这个方法当你的产品是连接PC时或网络,我想是一个比较理想的方法。原理跟电话产品防伪标志相近。就是在你的单片机中生成一个唯一的随机长序列号,并加入复杂的特种算法,或加入你们重新编码的企业信息在里面,每个芯片内不同,复制者只能复制到一个序列号。这个方法不能防止复制,但能发现复制品,并可在升级或在网络状态控制它或让他自毁。如果产品不联机或不可升级,则这个方法完全无效,只能是在上法院时可当作证据,因为内含特种算法破解者是无法知道的。 7、通过单片机唯一的特性标识(不可修改)进行加密

这个方法最好,能很好的防止复制。但大多单片机没有唯一标识。STC单片机里面含唯一标识,但本人没用过,下次一定要研究使用一下。理论上只要含唯一标识是单片机都可实现,ATMEL AVR系列单片大部分型号有RC校正字节(几十个芯片才有一个相同,并且不可修改)能实现这个理想功能,可做到即使芯片内程序被读出也无法直接在另一个同型号的单片机上正常运行。并且如果用这个唯一标识来生成含有加密算法的序列号,结合第6种方法,哪应是最理想的加密方法。 以上方法应都是一种加密的思路,各种方法可接合着用,6、7两种方法是本人认为比较合适,实现起来比较容易的方法。后面将重点介绍两种加密方式的实现方法。 二、序列号加密实现方法 1、原理 就是在存储器某个区块放入一个唯一的序列号(长一点,无规律),每个芯片不同。原理跟电话产品防伪标志相近 | PC机 | <------------>| 带自定义算法序列号单片机系统 | 控制方法: 1、PC根据传回来的序列号根据算法判断是否合法,合法就运行,不合法处理它。当然,如果是**的序列号,可自毁。 2、单片机内部的序列号经加密算法处理,单片机系统同样要防止软件被更改,可在单片机内部加入CRC等数据校验。一般情况下,序列号如果不合算法,单片机系统应让程序运行出错,这样**者一般不会去修改序列号,如果修改了也没关系,因为PC还能判断是否合法。 3、序列号传送时可采用双向加密算法认证,相当于银卡的数据交换方式。

python中加密解密函数文档

Python的base64模块中的加解密函数 以及加密算法 一.Base64模块简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据(或不可打印的字符串)。包括MIME的email,email via MIME, 在XML中存储复杂数据。 在邮件中的用途: 在MIME格式的电子邮件中,base64可以用来将binary的字节序列数据编码成ASCII 字符序列构成的文本。使用时,在传输编码方式中指定base64。使用的字符包括大小写字母各26个,加上10个数字,和加号“+”,斜杠“/”,一共64个字符,等号“=”用来作为后缀用途。 在URL中的用途: 标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。 为解决此问题,可采用一种用于URL的改进Base64编码,它不在末尾填充'='号,并将标准Base64中的“+”和“/”分别改成了“*”和“-”,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式。简单的说:就是让字符串了可以安全的通过URL传输,那句就是把原先base64编码后的字符串中的+换成-,/换成_,=则保留。 另有一种用于正则表达式的改进Base64变种,它将“+”和“/”改成了“!”和“-”,因为“+”,“*”在正则表达式中都可能具有特殊含义。 加解密函数中替换符号字符的功能: 因为base64编码后的字符除了英文字母和数字外还有三个字符‘+’, ‘/’, ’ =’, 其中’=’只是为了补全编码后的字符数为4的整数,而’+’和’/’在一些情况下需要被替换的,b64encode和b64decode正是提供了这样的功能。至于什么情况下’+’和’/’需要被替换,最常见的就是对url进行base64编码的时候。urlsafe_b64encode和urlsafe_b64decode 一组,这个就是用来专门对url进行base64编解码的,实际上也是调用的前一组函数。 二.加解密函数

PHP函数

函数 计算机编程之所以存在,就是为了自动完成各种任务,从按揭还贷计算到确定一个人每天最佳的卡路里摄入量,这些任务可谓林林总总,形式各异。不过,随着这些任务变得越来越复杂,你会发现它们往往由另外一些重复的任务组成。例如,在电子商务应用中,可能需要在多个不同页面上验证一个E-mail地址,如新用户注册来使用一个网站时,有人希望增加一条产品评论时,或者一个访问者订阅一份刊物时,此时都需要验证E-mail地址。用来验证E-mail地址的正则表达式相当复杂,因此最好在一个地方维护,而不要把它嵌入到多个不同的页面中,特别地,如果需要针对一个新的域(如.museum)修改正则表达式,这一点更显重要。 令人欣慰的是,在现代计算机语言中,有这样一个概念很早就成为了其重要组成部分之一,即将这些重复的过程嵌入在一个命名的代码块中,然后在必要时调用这个代码块。这些代码块称为函数(function),如果将来要修改嵌入的过程,这就提供了一个方便的修改点,而且只需在这一处做修改,因此可以大大地减少出现编程错误的可能性,还能降低维护的开销。 调用函数 标准的PHP发行包中有1000多个标准函数。假设函数库已经编译到安装发行包中,或者通过include()或require()语句包含了相应函数库,使得函数可用,那么通过指定函数名就可以调用函数。例如,假设希望计算5的3次方,可以如下调用PHP的pow()函数: 创建函数 对于力图避免在编程中闭门造车、一切都重新发明的程序员来说,虽然PHP的众多函数库是一笔巨大的财富,但迟早都会用到标准包以外的函数,这意味着你需要创建定制函数,甚至创建整个函数库。例如,考虑下面的函数generate footer(),它将输出一个页脚: 定义之后,就可以像下面这样调用这个函数:

相关文档