在现阶段,我们一般认为存在两种加密方式,单向加密和双向加密。 双向加密是加密算法中最常用的,它将我们可以直接理解的明文数据加密为我们不可直接理解的密文数据,然后,在需要的时候,可以使用一定的算法将这些加密以后的密文解密为原来可以理解的明文。双向加密适合于隐秘通讯,比如,我们在网上购物的时候,需要向网站提交信用卡密码,我们当然不希望我们的数据直接在网上明文传送,因为这样很可能被别的用户“偷听”,我们希望我们的信用卡密码是通过加密以后,再在网络传送,这样,网站接受到我们的数据以后,通过解密算法就可以得到准确的信用卡账号。 ...
Ansi,UTF8,Unicode,ASCII编码1. ASCII和Ansi编码 字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为 单字节内码 -- Single-Byte character sets (SBCS),可以支持256个字符编码. 双字节内码 -- Double-Byte character sets)(DBCS),可以支持65000个字符编码. 前者即为ASCII编码,后者对应ANSI. 至于简体中文编码GB2312,实际上它是ANSI的一个代码页9362. Unicode unicode 是一种编码表格,例如,给一个汉字规定一个代码。类似 GB2312-1980, GB18030等,只不过字集不同。 一个unicode码可能转成长度为一个BYTE,或两个,三个,四个BYTE的UTF...
类别:其它 -
字符编码 查看:156
更新:2014-06-01
<SCRIPT LANGUAGE="JavaScript">
<!--
var lastNumber;
var id = "15位身份证号码"//15位身份证号码
var getNum=eval(id.charAt(0)*7+id.charAt(1)*9+id.charAt(2)*10+id.charAt(3)*5+id.charAt(4)*8+id.charAt(5)*4+id.charAt(6)*2+id.charAt(7)*1+id.charAt(8)*6+id.charAt(9)*3+id.charAt(10)*7+id.charAt(11)*9+id.charAt(12)*10+id.charAt(13)*5+id.charAt(14)*8+id.charAt(15)*4+id.charAt(16)*2);
getNum=getNum%11;
switch (getNum) {
case 0 :
lastNumber="1";
break;
case 1 :
lastNumber="0";
break;
case 2 :
lastNumber=...
<?php
if ($_POST["perdata"] == "")
{
$_POST["perdata"] = "1 2 3 4";
}
$data = chop (trim ($_POST["perdata"]));
$a = explode (" ", $data);
sort ($a);
$data = implode (" ", $a);
?>
<?php
function nextpermu (&$c)
{
$s = sizeof ($c);
$i = $s - 1;
while ($i > 0)
{
if ($c[$i] > $c[$i-1])
{
$j = $s-1;
while ($c[$j] <= $c[$i-1])
$j--;
$t = $c[$i-1];
$c[$i-1] = $c[$j];
$c[$j] = $t;
//echo $i."-".$j."<br>";
for ($j=$s-1; $i < $j; $i++, $j--)...
随着“金盾工程”建设的逐步深入和公安信息化的高速发展,公安计算机应用系统被广泛应用在各警种、各部门。与此同时,应用系统体系的核心、系统数据的存放地――数据库也随着实际应用而急剧膨胀,一些大规模的系统,如人口系统的数据甚至超过了1000万条,可谓海量。那么,如何实现快速地从这些超大容量的数据库中提取数据(查询)、分析、统计以及提取数据后进行数据分页已成为各地系统管理员和数据库管理员亟待解决的难题。 在以下的文章中,我将以“办公自动化”系统为例,探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页。以下代码说明了我们实例中数据库的“红头文件”一表的部分数...
世面上的算法书大都是C写的,为了学习JAVA和算法自己写了个JAVA的直接插入排序。由于水平有限,存在很多不足之处,希望大家能够多加指正,谢谢。 /**这是一个利用直接插入排序法写的一个小程序; 直接插入排序是一个将待排序列中的元素p[i]与一个有序序列中的元素q[j--]比较(从后向前),当p[i] >= q[j] (递增排序)或 p[i] <= q[j] (递减排序)时,q[j+1] = p[i];反之就将q[j]移位到q[j+1]为p[i]的插入预留空间且如果j==0则q[j] = p[i]. */ public class SISort { public static int[] sortAscending(int []with){ //整数递增排序 int length = with.length; //获取待排数组的元素个数; int []temp = new int[length]; te...
在计算机安全领域,涉及到一个重要的范畴,那就是加密解密技术,加密解密技术的发展,为计算机安全提供了很大的保障,同时也随着破解技术的蔓延,对计算机安全带来了挑战,本文将个人之前对加密解密算法MD5的了解跟使用做个总结。在计算机加密算法当中,主要存在对称密钥体制、非对称密钥体制公钥体系、消息摘要、以及数字签名等大类型的算法。其中消息摘要有两个主要算法,下文作简要介绍消息摘要中的MD5算法以及对MD5算法的使用。在介绍MD5算法之前,先介绍下哈希函数。哈希函数(HASH)的运算原理为:任意输入一个任何长度的任何字符串,通过哈希函数运算之后返回一串固定长度的字符串,该字符串即称为HASH值,用于计算哈...
void paixu(int a[],int low,int high;)//用快速排序法{ // low, high表示扫描的范围 int pivot;//存放中心索引及其值的局部变量 int scanup,scandown,mid;//用于扫描的索引 if (high-low<=0) //如果数组中的元素少于两个,则返回 return; else if(high-low==1) //如果有两个元素,对其进行比较 { if(apai[high]<apai[low]) //如果后一个比前一个小, Swap(apai[low],apai[high]);//那么交换位置 return; }//end if mid=(low+high)/2;//取得中心索引 pivot=apai[mid];//将中间索引的值,赋给pivot Swap(apai[mid],apai[low]);//交换pivot及低端元素的值 Scanup=low+1; Scandow...
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存的有限性,JVM在实现的时候都有一个由垃圾回收所管理的堆。垃圾回收是一种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃圾收集算法来实现资源自动回收的功能。 垃圾收集的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放...
这里笔者介绍一种很常用,也比较专业的权限控制思路。这里用java语言描述,其实都差不多的。要换成其他的语言主,自己转一下就可以了。为了方便起见,我们这里定义a^b为:a的b次方。这里,我们为每一个操作设定一个唯一的整数值,比如: 删除A---0 修改A---1 添加A---2 删除B---3 修改B---4 添加B---5 …… 理论上可以有N个操作,这取决于你用于储存用户权限值的数据类型了。 这样,如果用户有权限:添加A---2;删除B---3;修改B---4。那用户的权限值 purview =2^2+2^3+2^4=28,也就是2的权的和了。化成二进制可以表示为11100。这样,如果要验证用户是否有删除B的权限,就可以通...
#include <stdio.h>#include <malloc.h>#include<stdlib.h>typedef char DataType;/*定义DataType类型*/typedef enum {Link,Thread}PointerTag;typedef struct node{DataType data;struct node *lchild, *rchild;/*左右孩子子树*/PointerTag LTag,RTag;}BiThrNode;/*结点类型*/typedef BiThrNode *BiThrTree ;/*二叉树类型*/void CreatBinTree(BiThrTree *T){/*构造二叉链表,注意:输入序列是先序序列*/char ch;if ((ch=getchar())==' ')*T=NULL;else{/*读入非空格*/*T=(BiThrNode *)malloc(sizeof(BiThrNode));/*生成结点*/(*T)->data=ch;(*T)->LTag=Link;(*T)->R...
类别:程序开发 查看:122
更新:2014-05-10
普及一下: 字符必须编码后才能被计算机处理。计算机使用的缺省编码方式就是计算机的内码。早期的计算机使用7位的ASCII编码,为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。 Unicode也是一种字符编码方法,不过它是由国际组织设计,可以容纳全世界所有语言文字的编码方案。Unicode的学名是"Universal Multiple-Octet Coded Character Set",简称为UCS。UCS可以看作是"Unicode Character Set"的缩写。 如果要转换的话,就要涉及到具体的字符编码方式的问题了。比如GB2312和用于繁体中文的big5。转换到UNICODE方法就不一样。 同时UNICODE有两种格式:UCS-...
类别:其它 -
字符编码 查看:147
更新:2014-05-09
随着电信业务的发展 ,人们对话音编码的要求越来越高。不仅要求低延时、低码速率 ,而且要求有很高的话音质量。为此,国际电信联盟 (ITU)于 1 996年推出了G. 729算法。该算法在8kbps的传输码率下实现了较好的综合话音质量 ,且时延较短 ,可被广泛地应用于 IP电话、移动通信、多媒体网络通信等众多领域。ADSP2191是美国AD公司最新推出的一款定点DSP,特别适用于通讯,工业控制,语音/话音和医疗等方面。本文以ADSP-2191 EZ-KIT Lite评估板作为实现G.729语音编解码算法实验系统的基本硬件平台,实现G.729的算法。一.G.729算法的描述 图1.1 G.729编码器原理图 图1.1给出了 CS-ACELP算法编码器原理框图.算法的...
类别:其它 -
多媒体 查看:130
更新:2014-05-08