Class: Digest::Base
Overview
This abstract class provides a common interface to message digest implementation classes written in C.
Instance Method Summary collapse
-
#<<(str) ⇒ Object
:nodoc:.
-
#block_length ⇒ Object
:nodoc:.
-
#digest_length ⇒ Object
:nodoc:.
-
#initialize_copy(obj) ⇒ Object
:nodoc:.
-
#reset ⇒ Object
:nodoc:.
-
#update(str) ⇒ Object
:nodoc:.
Methods inherited from Class
bubblebabble, digest, file, hexdigest
Methods included from Instance
#==, #bubblebabble, #digest, #digest!, #file, #hexdigest, #hexdigest!, #inspect, #length, #new, #size, #to_s
Instance Method Details
#<<(str) ⇒ Object
:nodoc:
514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 |
# File 'digest.c', line 514 static VALUE rb_digest_base_update(VALUE self, VALUE str) { *algo; void *pctx; algo = (rb_obj_class(self)); Data_Get_Struct(self, void, pctx); StringValue(str); algo->update_func(pctx, (unsigned char *)RSTRING_PTR(str), RSTRING_LEN(str)); return self; } |
#block_length ⇒ Object
:nodoc:
563 564 565 566 567 568 569 570 571 |
# File 'digest.c', line 563 static VALUE rb_digest_base_block_length(VALUE self) { *algo; algo = (rb_obj_class(self)); return INT2NUM(algo->block_len); } |
#digest_length ⇒ Object
:nodoc:
552 553 554 555 556 557 558 559 560 |
# File 'digest.c', line 552 static VALUE rb_digest_base_digest_length(VALUE self) { *algo; algo = (rb_obj_class(self)); return INT2NUM(algo->digest_len); } |
#initialize_copy(obj) ⇒ Object
:nodoc:
478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 |
# File 'digest.c', line 478 static VALUE rb_digest_base_copy(VALUE copy, VALUE obj) { *algo; void *pctx1, *pctx2; if (copy == obj) return copy; rb_check_frozen(copy); algo = (rb_obj_class(copy)); Data_Get_Struct(obj, void, pctx1); Data_Get_Struct(copy, void, pctx2); memcpy(pctx2, pctx1, algo->ctx_size); return copy; } |
#reset ⇒ Object
:nodoc:
498 499 500 501 502 503 504 505 506 507 508 509 510 511 |
# File 'digest.c', line 498 static VALUE rb_digest_base_reset(VALUE self) { *algo; void *pctx; algo = (rb_obj_class(self)); Data_Get_Struct(self, void, pctx); algo->init_func(pctx); return self; } |
#update(str) ⇒ Object
:nodoc:
514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 |
# File 'digest.c', line 514 static VALUE rb_digest_base_update(VALUE self, VALUE str) { *algo; void *pctx; algo = (rb_obj_class(self)); Data_Get_Struct(self, void, pctx); StringValue(str); algo->update_func(pctx, (unsigned char *)RSTRING_PTR(str), RSTRING_LEN(str)); return self; } |