2009年09月24日 星期四 下午 04:29
/*
题目描述:对于一个字节(8bit)的无符号整形变量,求二进制表示中“1”的个数,要求算法执行效率尽可能地高
*/
#include <windows.h>
#include <iostream>
using namespace std;
int Count(BYTE v);
int main()
{
BYTE v=255;
cout<<Count(v);
return 0;
}
方法一:直接的方法就是除以2向右移位, 逐个统计,但是用到取模和相除,这个很耗资源。
int Count(BYTE v)
{
int num=0;
while (v)
{
|
2009年09月03日 星期四 下午 07:38
OpenSSL一共实现了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)。DH算法一般用户密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名,当然,如果你能够忍受其缓慢的速度,那么也可以用于数据加密。DSA算法则一般只用于数字签名。我想用RSA作为例子来描述Openssl公钥算法的实现过程。
/*****************RSA Code******************/
#includ |
2009年09月03日 星期四 下午 06:46
Openssl中有AES、DES、Blowfish、CAST、IDEA、RC2、RC5等对称算法的实现函数,而且有一个统一的编程接口,很方便应用,但难于理解,当然你也可以自己去写Openssl的扩展函数,这样就更加方便了。这里我想用DES 算法来举例说说Openssl编程的一般流程。以下是VC环境里调试成功的程序,可以直接运行。
在运行程序之前你必须做好前期准备,否则无法调试,这里我们要用到Openssl的EVP,我们需要在工程中引入要用到的链接库文件libeay32.lib |
2009年09月03日 星期四 下午 05:52
Openssl,一个强大的开放源代码的SSL协议实现。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
1.对称加密算法
OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式( |
2009年05月22日 星期五 下午 12:15
最近看了一本书《程序员》里面说的一个面试题:
求两个数的最大公约数:
SoEasy的题目看过C 的人都知道怎么写这个程序
1.传统方法:穷举
#include <math.h>
int main()
{
int m=1970,n=1066,p=0;
p=m<n?m:n;
for(;p>=1;p--)
{
Count++;
if(m%p==0&&n%p==0)
break;
}
print |
2009年05月10日 星期日 下午 02:17
分组
我们已经提到了怎么重复单个字符(直接在字符后面加上限定符就行了);但如果想要重复多个字符又该怎么办?你可以用小括号来指定子表达式(也叫做分组),然后你就可以指定这个子表达式的重复次数了,你也可以对子表达式进行其它一些操作(后面会有介绍)。
(\d{1,3}\.){3}\d{1,3}是一个简单的IP地址匹配表达式。要理解这 |
2009年05月10日 星期日 下午 02:13
正则表达式
- 如何使用本教程
- 正则表达式到底是什么东西?
- 入门
- 测试正则表达式
- 元字符
- 字符转义
- 重复
- 字符类
- 分枝条件
- 反义
- 分
|
2009年02月17日 星期二 下午 01:23
大三上学期的课程设计,做得比较简单主要是为了熟悉一下数据库编程的一些方法。
程序运行环境:SQL Server 2000 Windows XP。
配置数据源:将“仓库管理系统 |
2008年09月14日 星期日 下午 05:42
#include"iostream.h"
void Swap(int &a,int &b)
{
int temp=a;
a=b;
b=temp;
}
void Perm(int list[],int k,int m)
{
if(k==m)
{
for(int i=0;i<=m;i++)
{
cout <<list[i];
}
cout <<endl;
}
else
{
for(int i=k;i<=m;i++)
{
Swap(list[k],list[i]);
|
2008年06月29日 星期日 下午 08:01
1.2 文件的输入输出函数
键盘、显示器、打印机、磁盘驱动器等逻辑设备, 其输入输出都可以通过文件管理的方法来完成。而在编程时使用最多的要算
是磁盘文件, 因此本节主要以磁盘文件为主, 详细介绍Turbo C2.0提供的文件操作函数, 当然这些对文件的操作函数也适合于非磁
盘文件的情况。
另外, Turbo C2.0提供了两类关于文件的函数。一类称做标准文件函数也称缓冲型文件函数, 这是ANSI标 |
|
|
英语一级
男, 22岁
湖北 武汉
上次登录: 8天前
加为好友
|