- 博客(7)
- 资源 (10)
- 收藏
- 关注
原创 Base64 另一种解码方法
Base64 的另一种解码方法常规的方法一般有设定一个 127 字节的反向转换表. 这种查表法网上有很多,这里不再讲述.下面将要使用的是另一种方法, 只需要使用18字节的反向驱动表.我不知道还有没有其他人想到, 不过即然我了解了, 也让大家分享一下这个想法.第一步. 观察 Base64 编码里面只会出现以下的字符集: A to Z, a to Z, 0 to 9, +, -,
2008-12-20 14:41:00 675
原创 Sha1 的块计算函数
以下是计算SHA1的64字节块的计算函数。测试方式非常简单, 准备一个 int src[16] 的数组,赋值测试数据块。测试数据为"abc " 字串,位长度为 0x18。如果以字节方式来看待64字节缓冲区的话,下面是Big Endian 字序机上的映像:61 62 63 80 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00
2008-11-28 21:39:00 915
原创 Md5 与 Sha 如何将大于64字节的数据分成多块
Md5 与 Sha1/Sha256 都是以64字节的块作为计算单元的。而源数据流经过修整后必须是64字节的倍数,不足的将填充0。这样一来,算法所得到的数据将完全是一个个64字节的包,而算法也即对每个包进行迭代计算处理——用上一次计算得到的值对当前块进行计算。 MD5与SHA1/SHA256都有最初的所谓的散列值,在送入第一个数据块之前,必须设置好特定的最初值。而当计算完第
2008-11-28 20:44:00 1843 1
原创 Big Endian 与 Little Endian
俗称的大尾与小尾。单字节取数据时,不必考虑数据是按什么方式存放的,反正只有一个字节,而对于多个字节来说,比如 2 字节以上,就必须有,到底第一字节是存放数值最高的一个字节呢,还是最低的一个字节。传统的 X86 / X86_64 机器都是 Little Endian 字节序的机器,而 Java 虚拟机就以 Big Endian 作为多字节数据的存放方式。 下面是详细的例子: 若内存字节为
2008-11-28 20:36:00 668
原创 MD5 计算方法( 一 ) -- MD5 规范计算函数
[ MD5 标准计算式子 ]----由 RFC 1321 中有标准的计算宏. 而示例程序中也使用了计算宏来表示. 这里我使用的则是用循环来代替RFC 1321 中使用的计算宏. 代码如下: typedef signed int SZ_T;typedef unsigned int SZ_UINT;typedef unsigned char SZ_UCHAR;#de
2008-11-02 18:31:00 2601 1
原创 对象幻想记
[ 对象幻想记 ]---声明: 以下内容为笔者胡思乱想的, 并不想伤害任何人的信仰, 如果对阅读文章的您产生了不良影响,或者让您感觉到愤怒, 请多多包涵. 对象是什么?这个世界又是什么?恐怕我们无法回答。但在虚拟的世界里,对象就是:一团具有强关系的属性值加上操作这团值的代码的实例。 C++ 和 Java 中的对象: --对象是类的实例。类实现了相关数据与算法
2008-10-31 23:18:00 637
原创 CRC32 直接计算方法
[ CRC32 计算方法 -- 直接计算法 ] ----这里不做什么技术性探讨为什么CRC32可以效应以及CRC32的原理。那不是我所关心的,我所关心的只是能否正确地使用它。CRC32 在网上有众多的POLY(也就是可以看成为种子一样的值)。WinRar 使用的是 0xedb88320。还有ISO标准的其他poly 值。这个值可以通过GOOGLE搜到很多。查表法很优秀,但要用掉无关痛痒的1K
2008-10-31 22:52:00 7813
MD5 SHA1 SHA256 的C语言源码
2008-12-14
Doom 3 SDK 源代码
2008-09-08
Fasm x86-64 汇编器 Ver 1.67.26
2008-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人