⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bnprint.c

📁 包含哈希,对称以及非对称的经典算法 包含经典事例
💻 C
字号:
/* * bnprint.c - Print a bignum, for debugging purposes. * * Copyright (c) 1995  Colin Plumb.  All rights reserved. * For licensing and other legal details, see the file legal.c. */#if HAVE_CONFIG_H#include "config.h"#endif#include <stdio.h>#if !NO_STRING_H#include <string.h>#elif HAVE_STRINGS_H#include <strings.h>#endif#include "bn.h"#include "bnprint.h"#include "kludge.h"intbnPrint(FILE *f, char const *prefix, struct BigNum const *bn,	char const *suffix){	unsigned char temp[32];	/* How much to print on one line */	unsigned len;	size_t i;	if (prefix && fputs(prefix, f) < 0)		return EOF;	len = (bnBits(bn) + 7)/ 8;	if (!len) {		if (putc('0', f) < 0)			return EOF;	} else {		while (len > sizeof(temp)) {			len -= sizeof(temp);			bnExtractBigBytes(bn, temp, len, sizeof(temp));			for (i = 0; i < sizeof(temp); i++)				if (fprintf(f, "%02X", temp[i]) < 0)					return EOF;			if (putc('\\', f) < 0 || putc('\n', f) < 0)				return EOF;			if (prefix) {				i = strlen(prefix);				while (i--)					if (putc(' ', f) < 0)						return EOF;			}		}		bnExtractBigBytes(bn, temp, 0, len);		for (i = 0; i < len; i++)			if (fprintf(f, "%02X", temp[i]) < 0)				return EOF;	}	return suffix ?	fputs(suffix, f) : 0;}

⌨️ 快捷键说明

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