Sha256: 5b7557d9c4a3af7a995cc6cff4bf6bad424ee6e0a96f40e1b298733881b4ae64

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

# Digest::Simple

**Digest::Simple** is a class that minimun implement for non block message digest.

## Usage

Digest::Simple depends only one method `finish`.

```ruby
module Digest
  class Prime31 < Simple
    def initialize
      @prime = 31
      # should be call Digest::Simple#initialize
      super
    end
  
    def finish
      result = 0
      # @buffer is a internal variable
      @buffer.unpack("C*").each do |c|
        result += (c * @prime)
      end
      [result & 0xffffffff].pack("N")
    end
  end
end

p Digest::Prime31.hexdigest("abc" * 1000) #=> "008b1190"
```

## APIs

All methods in **Digest::Class**

## Installation

Add this line to your application's Gemfile:

    gem 'digest-simple'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install digest-simple

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
digest-simple-1.1.0 README.md
digest-simple-1.0.0 README.md