Skip navigation.

Linux夜航船

Everything should be easy.

Posts tagged with "学习"

封装SHA1库,顺便更新一下MD5库

, , , ...

MD5库类似,今天封装了个SHA1的库。
/*
* 编译方法
*
* gcc -o sha1test sha1test.c libleosha1.so
* 此方法需要将libleomd5.so复制到系统路径下,例如/usr/lib
*
* gcc -o sha1test sha1test.c ./libleosha1.so
* 此方法需要将libleosha1.so复制到test所在路径下
*
* bayern.leo@gmail.com
*/
int main( int argc, char *argv[] )
{
int i;
for(i=1;i<argc;i++) {
if(i+1<argc) {
if (strcmp(argv,"-s")==0) {
printf("SHA1 for string %s: %s\n",argv[i+1],LeoSHA1(argv[i+1]));
} else if (strcmp(argv,"-f")==0) {
printf("SHA1 for file %s: %s\n",argv[i+1],LeoFileSHA1(argv[i+1]));
}
}
}

return( 0 );
}
MD5-SHA1.tar.bz2

封装一个C语言的MD5共享库

, , , ...

算法的源码用的还是国外前辈的,封装为一个共享库,便于在不同的程序中使用。
测试程序test.c的全部代码如下。
#include <stdio.h>
/*
* 编译方法
*
* gcc -o test test.c libleomd5.so
* 此方法需要将libleomd5.so复制到系统路径下,例如/usr/lib
*
* gcc -o test test.c ./libleomd5.so
* 此方法需要将libleomd5.so复制到test所在路径下
*
* bayern.leo@gmail.com
*/
int main(int argc,char* argv[]) {
int i;
for(i=1;i<argc;i++) {
if(i+1<argc) {
if (strcmp(argv,"-s")==0)
printf("For string %s: %s\n",argv[i+1],MD5(argv[i+1]));
else if (strcmp(argv,"-f")==0)
printf("For file %s: %s\n",argv[i+1],MDFile(argv[i+1]));
}
}

return 0;
}
(2007-4-28有更新)
MD5-SHA1.tar.bz2

hack the css

, , ,

一向懒得修改BLOG的Layout,这次想试试采用一种新颖的给链接加上较粗的下划线的效果。
代码如下。
a:hover {
text-decoration:underline;
border-bottom:2px solid #56ABAB;
}
给链接加上框(当鼠标指向时)的代码可以是这样:
a:hover {
border-bottom:1px solid #009900;
border-top:1px solid #009900;
border-left:1px solid #009900;
border-right:1px solid #009900;
}

RelaxBSD和Fedora Core 5共存一机之后

, , , ...

在FC5里持载BSD分区:mount -r -t ufs -o ufstype=ufs2 /dev/hda3 /mnt/bsd
在RelaxBSD里载linux分区: mount_ext2fs /dev/ad0s11 /mnt/u
联网方面,由于RelaxBSD默认设置是DHCP的,所以当在局域网里时,要用FreeBSD的通用办法设置默认网关:
/sbin/route add default 192.168.1.1
RelaxBSD里访问Window$分区则不劳费心,在/mnt下面找就是了。
RelaxBSD当然也不无瑕疵,有待整理确认……

让XP、FreeBSD、Fedora Core 5共存一机

, , , ...

如何让XP、FreeBSD、Fedora Core 5共处一室,这是个新课题。
FreeBSD版本的选择上,我顺便支持国货一把,选用RelaxBSD,支持国货不等于支持劣货,在此提醒有缘看到这篇BLOG的你,支持不合格的国货等于纵容。 :wink:
由于RelaxBSD在管理分区上相对弱一点,所以第一步是分出一个花园小区,呆会给她安家,这个花园小区只能是主分区。这一步可是关键的一步,说是花园小区,好歹也得4G以上——安装盘是这么要求的,虽说RelaxBSD安装完成之后没占那么大的空间,但总得给人家个闪展腾挪的余地吧。
因为我在此之前体验过多种*nix发行版,扩展分区稍微有点复杂,安装FC5时会受以前安装的影响,不能轻易地按我的意愿分区,得另想办法。
魔法分区PQ当然是不行的。
于是我想起PCLinuxOS的LiveCD,这个发行版对分区的管理足够强悍,于是用她来给RelaxBSD作前期准备,奠定好分区方案。
操作的过程是使用PCLinuxOS的LiveCD的安装功能,但不是真的安装,分区完成后便即退出,重启。
安装XP无须多说,略过。
安装RelaxBSD也很简单,选中刚才已经分好的花园小区,安装之即可。
安装Fedora Core 5的教程也很多了,为了自己方便,刻成CD到底是个好选择,我也没尝试从硬盘安装。
到了安装GRUB这一步的时候注意一下,FC5能默认找出Window$的安装,但需要手动添加BSD的启动项,我的BSD安装在hda3,选中之。
接下来的安装无甚可记。
安装完成,分别重启三种系统看看有无意外变故,没有。
这就好了,XP、FreeBSD、Fedora Core 5已经相当和谐地共处一室了。

Countdowns示众

无志之人常立志,有志之人立常志。:D
刚刚一口气定了三个Countdowns作为学习与提高的计划,马上联想到这话,于是,战战兢兢,汗如雨下,又战战兢兢,汗不敢出。
December 2009
S M T W T F S
November 2009January 2010
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31