阅读:1267回复:0
how to do sha1 in linux kernel
已经写了
char *do_digest(char * code) { char *result; int code_len = strlen(code); tfm = crypto_alloc_tfm("sha1",0); if(IS_ERR(tfm)) return 0; sg_init_one(sg,code,code_len); crypto_digest_init(tfm); crypto_digest_update(tfm,sg,1); result = (char *)kmalloc(sizeof(char)*50,GFP_KERNEL); if(result == NULL) { crypto_free_tfm(tfm); return 0; } memset(result,0,sizeof(char)*50); crypto_digest_final(tfm,result); crypto_free_tfm(tfm); return result; } 现在的问题是我希望对整个文件做sha1操作,可在内核打开文件后如何获得这个文件的长度呢? 因为只有知道了文件长度后才可使用vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)方法将文件的内容 全部读出啊! 不知哪位兄弟有这方面的经验。 |
|