Iterates through the child elements, yielding for each Element
that has a particular attribute set.
the name of the attribute to search for
the value of the attribute
(optional) causes this method to return after yielding for this number of matching children
(optional) if supplied, this is an XPath
that filters the children to check.
doc = Document.new "<a><b @id='1'/><c @id='2'/><d @id='1'/><e/></a>" # Yields b, c, d doc.root.each_element_with_attribute( 'id' ) {|e| p e} # Yields b, d doc.root.each_element_with_attribute( 'id', '1' ) {|e| p e} # Yields b doc.root.each_element_with_attribute( 'id', '1', 1 ) {|e| p e} # Yields d doc.root.each_element_with_attribute( 'id', '1', 0, 'd' ) {|e| p e}
Returns the hash value of a given string. This is equivalent to Digest::Class.new(*parameters)
.digest(string), where extra parameters, if any, are passed through to the constructor and the string is passed to digest()
.
Returns the hex-encoded hash value of a given string. This is almost equivalent to Digest.hexencode
(Digest::Class.new(*parameters)
.digest(string)).
Returns the base64 encoded hash value of a given string. The return value is properly padded with ‘=’ and contains no line feeds.
Returns a new Fiddle::Pointer
instance that is a dereferenced pointer for this pointer.
Analogous to the star operator in C.
Performs a Miller-Rabin probabilistic primality test with checks
iterations. If nchecks
is not specified, a number of iterations is used that yields a false positive rate of at most 2^-80 for random input.
checks
- integer
Returns the names of all available ciphers in an array.
Return the data
hash computed with name
Digest
. name
is either the long name or short name of a supported digest algorithm.
OpenSSL::Digest.digest("SHA256", "abc")
which is equivalent to:
OpenSSL::Digest::SHA256.digest("abc")
This returns an OpenSSL::Cipher
by name
, if it is available in this engine.
An EngineError
will be raised if the cipher is unavailable.
e = OpenSSL::Engine.by_id("openssl") => #<OpenSSL::Engine id="openssl" name="Software engine support"> e.cipher("RC4") => #<OpenSSL::Cipher:0x007fc5cacc3048>
This returns an OpenSSL::Digest
by name
.
Will raise an EngineError
if the digest is unavailable.
e = OpenSSL::Engine.by_id("openssl") #=> #<OpenSSL::Engine id="openssl" name="Software engine support"> e.digest("SHA1") #=> #<OpenSSL::Digest: da39a3ee5e6b4b0d3255bfef95601890afd80709> e.digest("zomg") #=> OpenSSL::Engine::EngineError: no such digest `zomg'
Returns the authentication code as a binary string. The digest
parameter must be an instance of OpenSSL::Digest
.
key = 'key' data = 'The quick brown fox jumps over the lazy dog' digest = OpenSSL::Digest.new('sha1') hmac = OpenSSL::HMAC.digest(digest, key, data) #=> "\xDE|\x9B\x85\xB8\xB7\x8A\xA6\xBC\x8Az6\xF7\n\x90p\x1C\x9D\xB4\xD9"
Returns the authentication code as a hex-encoded string. The digest
parameter must be an instance of OpenSSL::Digest
.
key = 'key' data = 'The quick brown fox jumps over the lazy dog' digest = OpenSSL::Digest.new('sha1') hmac = OpenSSL::HMAC.hexdigest(digest, key, data) #=> "de7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9"