10 months ago

登入阿里云账号(Linux操作系统)
linux命令行方式用 man tcc或者rm等列出相关的详细指令,用shift + Q 退出

1、复制加密库文件到自己的目录下
mkdir /home/wangjingru/tool
cd ../yuanxun
cd lib
cp libtomcrypt.a /home/wangjingru/tool (将yuanxun下面的libtomcrypt.a这个文件复制到自己的根目录下)
cd

2、新增一个文件并编辑代码
nano test-q.c

编辑如下:

#include <tomcrypt.h>
#include <stdio.h>
int main  (void){

hash_state sha256;
unsigned char  in[20], out[32], infile[100];
printf("please input infile:\n");
scanf("%s",infile);
FILE* fp=fopen(infile, "rt+");
FILE* fpout=fopen("outfile","at+");

if (fp==NULL, fpout==NULL){
        printf("cannot open the file infile or outfile");
        exit(1);
}

while (fscanf(fp, "%s", in) != EOF)
{

sha256_init(&sha256);

sha256_process(&sha256, in, strlen(in));

sha256_done(&sha256, out);

int i;
fprintf(fpout,"\n the hash result:\t", in);
printf("the hash result will be saved into outfile:\n", in);
for (i=0; i<32; i++){
fprintf(fpout,"%02x",out[i]);
printf("%02x",out[i]);
}
printf("\n");

}
fclose(fp);
fclose(fpout);

return 0;


}

3、新增专门用来输入和输出的文件
nano infile(可输入多个名字,可用空格或者换行来隔开)
touch outfile

4、编译test-q.c这个文件:
tcc -c test-q.c
源文件没有实现sha256这个函数,所以需要引用加密库来实现这个功能:
tcc -o test-q(自命名) test-q.o tool/libtomcrypt.a
(可以用tab快捷键来快速输出)

5、运行程序:
./test-q

6、输入infile这个文件名

7、检查outfile文件
nano outfile

← 将名字转换成哈希值 如何写创世块的代码? →
 
comments powered by Disqus