Class: RubyClangFpe::FpeKey
- Inherits:
-
Object
- Object
- RubyClangFpe::FpeKey
show all
- Defined in:
- lib/ruby_clang_fpe/fpe_key.rb,
ext/ruby_clang_fpe/ruby_clang_fpe.c
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.generate_ff1_key(key, tweak, radix) ⇒ Object
46
47
48
49
50
51
52
53
54
55
|
# File 'ext/ruby_clang_fpe/ruby_clang_fpe.c', line 46
static VALUE t_gen_ff1_key(VALUE self, VALUE key, VALUE tweak, VALUE radix)
{
FPE_KEY *fpe_key;
fpe_key = FPE_ff1_create_key(StringValuePtr(key), StringValuePtr(tweak), NUM2UINT(radix));
if (fpe_key != NULL) {
return TypedData_Wrap_Struct(rb_cFpe1, &fpe_type, fpe_key);
} else {
return Qnil;
}
};
|
.generate_ff3_1_key(key, tweak, radix) ⇒ Object
35
36
37
38
39
40
41
42
43
44
|
# File 'ext/ruby_clang_fpe/ruby_clang_fpe.c', line 35
static VALUE t_gen_ff3_1_key(VALUE self, VALUE key, VALUE tweak, VALUE radix)
{
FPE_KEY *fpe_key;
fpe_key = FPE_ff3_1_create_key(StringValuePtr(key), StringValuePtr(tweak), NUM2UINT(radix));
if (fpe_key != NULL) {
return TypedData_Wrap_Struct(rb_cFpe3_1, &fpe_type, fpe_key);
} else {
return Qnil;
}
};
|
.generate_ff3_key(key, tweak, radix) ⇒ Object
RubyClangFpe::Fpe1Key class
24
25
26
27
28
29
30
31
32
33
|
# File 'ext/ruby_clang_fpe/ruby_clang_fpe.c', line 24
static VALUE t_gen_ff3_key(VALUE self, VALUE key, VALUE tweak, VALUE radix)
{
FPE_KEY *fpe_key;
fpe_key = FPE_ff3_create_key(StringValuePtr(key), StringValuePtr(tweak), NUM2UINT(radix));
if (fpe_key != NULL) {
return TypedData_Wrap_Struct(rb_cFpe3, &fpe_type, fpe_key);
} else {
return Qnil;
}
};
|
.generate_key(type, key, tweak, radix) ⇒ Object
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/ruby_clang_fpe/fpe_key.rb', line 3
def self.generate_key(type, key, tweak, radix)
new_key = case type
when :ff3
if (tweak.size / 2) == 7
generate_ff3_1_key(key, tweak, radix)
else
generate_ff3_key(key, tweak, radix)
end
when :ff1
generate_ff1_key(key, tweak, radix)
end
new_key
end
|
Instance Method Details
#radix ⇒ Integer
Returns the integer value of the radix used to generate the key.
101
102
103
104
105
106
|
# File 'ext/ruby_clang_fpe/ruby_clang_fpe.c', line 101
static VALUE t_radix(VALUE self)
{
FPE_KEY *fpe_key_ptr;
TypedData_Get_Struct(self, FPE_KEY, &fpe_type, fpe_key_ptr);
return UINT2NUM(fpe_key_ptr->radix);
};
|
#tweak ⇒ Object
108
109
110
111
112
113
|
# File 'ext/ruby_clang_fpe/ruby_clang_fpe.c', line 108
static VALUE t_tweak(VALUE self)
{
FPE_KEY *fpe_key_ptr;
TypedData_Get_Struct(self, FPE_KEY, &fpe_type, fpe_key_ptr);
return rb_str_new_cstr(fpe_key_ptr->tweak);
};
|