sha1pickle.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 39 行

C
39
字号
#include "os.h"#include <libsec.h>char*sha1pickle(SHA1state *s){	char *p;	int m, n;	m = 5*9+4*((s->blen+3)/3);	p = malloc(m);	if(p == nil)		return p;	n = sprint(p, "%8.8ux %8.8ux %8.8ux %8.8ux %8.8ux ",		s->state[0], s->state[1], s->state[2],		s->state[3], s->state[4]);	enc64(p+n, m-n, s->buf, s->blen);	return p;}SHA1state*sha1unpickle(char *p){	SHA1state *s;	s = malloc(sizeof(*s));	if(s == nil)		return nil;	s->state[0] = strtoul(p, &p, 16);	s->state[1] = strtoul(p, &p, 16);	s->state[2] = strtoul(p, &p, 16);	s->state[3] = strtoul(p, &p, 16);	s->state[4] = strtoul(p, &p, 16);	s->blen = dec64(s->buf, sizeof(s->buf), p, strlen(p));	s->malloced = 1;	s->seeded = 1;	return s;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?