wza79465135
驱动牛犊
驱动牛犊
  • 注册日期2008-01-24
  • 最后登录2009-09-22
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1267回复:0

how to do sha1 in linux kernel

楼主#
更多 发布于:2009-08-13 14:20
已经写了
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)方法将文件的内容
全部读出啊!

不知哪位兄弟有这方面的经验。
游客

返回顶部