Ruby
2.1.3p242(2014-09-19revision47630)
Main Page
Modules
Data Structures
Files
File List
Globals
ext
digest
sha1
sha1init.c
Go to the documentation of this file.
1
/* $RoughId: sha1init.c,v 1.2 2001/07/13 19:49:10 knu Exp $ */
2
/* $Id: sha1init.c 34816 2012-02-25 20:37:12Z naruse $ */
3
4
#include "
digest.h
"
5
#if defined(HAVE_OPENSSL_SHA_H)
6
#include "
sha1ossl.h
"
7
#else
8
#include "
sha1.h
"
9
#endif
10
11
static
const
rb_digest_metadata_t
sha1
= {
12
RUBY_DIGEST_API_VERSION
,
13
SHA1_DIGEST_LENGTH
,
14
SHA1_BLOCK_LENGTH
,
15
sizeof
(
SHA1_CTX
),
16
(
rb_digest_hash_init_func_t
)
SHA1_Init
,
17
(
rb_digest_hash_update_func_t
)
SHA1_Update
,
18
(
rb_digest_hash_finish_func_t
)
SHA1_Finish
,
19
};
20
21
/*
22
* A class for calculating message digests using the SHA-1 Secure Hash
23
* Algorithm by NIST (the US' National Institute of Standards and
24
* Technology), described in FIPS PUB 180-1.
25
*/
26
void
27
Init_sha1
()
28
{
29
VALUE
mDigest, cDigest_Base, cDigest_SHA1;
30
31
rb_require
(
"digest"
);
32
33
#if 0
34
mDigest =
rb_define_module
(
"Digest"
);
/* let rdoc know */
35
#endif
36
mDigest =
rb_path2class
(
"Digest"
);
37
cDigest_Base =
rb_path2class
(
"Digest::Base"
);
38
39
cDigest_SHA1 =
rb_define_class_under
(mDigest,
"SHA1"
, cDigest_Base);
40
41
rb_ivar_set
(cDigest_SHA1,
rb_intern
(
"metadata"
),
42
Data_Wrap_Struct
(
rb_cObject
, 0, 0, (
void
*)&sha1));
43
}
44
Generated on Mon Sep 22 2014 11:05:21 for Ruby by
1.8.2