ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? U:RDoc::NormalClass[iI" HMAC:ETI"OpenSSL::HMAC;TI" Object;To:RDoc::Markup::Document: @parts[o;;[: @fileI"$ext/openssl/lib/openssl/hmac.rb;T:0@omit_headings_from_table_of_contents_below0o;;[o:RDoc::Markup::Paragraph;[ I"KOpenSSL::HMAC allows computing Hash-based Message Authentication Code ;TI"K(HMAC). It is a type of message authentication code (MAC) involving a ;TI"Mhash function in combination with a key. HMAC can be used to verify the ;TI"8integrity of a message as well as the authenticity.;To:RDoc::Markup::BlankLineo; ;[I">OpenSSL::HMAC has a similar interface to OpenSSL::Digest.;T@S:RDoc::Markup::Heading: leveli: textI")HMAC-SHA256 using one-shot interface;T@o:RDoc::Markup::Verbatim;[ I"key = "key" ;TI"*data = "message-to-be-authenticated" ;TI"8mac = OpenSSL::HMAC.hexdigest("SHA256", key, data) ;TI"L#=> "cddb0db23f469c8bf072b21fd837149bd6ace9ab771cceef14c9e517cc93282e" ;T: @format0S; ;i;I",HMAC-SHA256 using incremental interface;T@o;;[ I"#data1 = File.binread("file1") ;TI"#data2 = File.binread("file2") ;TI"key = "key" ;TI"-hmac = OpenSSL::HMAC.new(key, 'SHA256') ;TI"hmac << data1 ;TI"hmac << data2 ;TI"mac = hmac.digest;T;0; I"ext/openssl/ossl_hmac.c;T; 0; 0; 0[[[[[I" class;T[[: public[ [I"base64digest;TI"$ext/openssl/lib/openssl/hmac.rb;T[I" digest;T@:[I"hexdigest;T@:[I"new;TI"ext/openssl/ossl_hmac.c;T[:protected[[: private[[I" instance;T[[;[[I"<<;T@A[I"==;T@:[I"base64digest;T@:[I" digest;T@A[I"hexdigest;T@A[I"initialize_copy;T@A[I" inspect;T@A[I" reset;T@A[I" to_s;T@A[I" update;T@A[;[[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"ext/openssl/ossl.c;TI" OpenSSL;TcRDoc::NormalModule