Giter VIP home page Giter VIP logo

omnihash's People

Contributors

ankostis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

omnihash's Issues

Rework cmd-line interface with Inclusions/eXclusions

I'm opening this issue to discuss some proposed changes to the command-line options and behavior.

Hashing of strings arguments:

After #7, the omnihash command can consume strings from stdin, so now the "-s sting in cmd-line option" or failling-back to "assume args as strings" it is better to go:

  • for simplification: currently the command behaves like echo and cat combined;

  • it is too resilient(!), violating the "fail early" rule. Let's take this example:

    $ omnihash "`which foo`"
    Hashing string ''..
      DSA:                   da39a3ee5e6b4b0d3255bfef95601890afd80709
    ...
    

    That's the empty string DSA, but unless you peek at the informational heder or know it by hurt, it is easy to miss that foo file were not actually found, and accept only this:

    echo hello |  omniparse
    

Add Inclusion/Exclusion flags:

Assuming #9 gets merged, unforeseen algos may clutter output - even now, it would be handier to eliminate some algos. So I'm suggesting to replace -c with one or more of the following:

  • -X exclude: e.g. omnihash -X crc excludes all algos having this upper string in their names
  • -I include: e.g. `omnihash -I sha3 prints only SHA3 algos. exlusions must apply afterwards,

Hashing consecutive items with plugins is corrupted

Currently plugins install digester-instances when initialized.
The SAME-DIGESTERSs are re-used multiple times, corrupting hashes for all but the 1st input!

But in reality, nobody could have discovered this because plugins simply DID NOT WORK :-)

These bug existed since plugins were originally introduced(#9) so the culprit falls completely on me!
And it has not been discovered because TravisCI were not checking them.

To deal with these:

  • I have already started installing TCs, and
  • fixing the plugins (ankostis/omnihash@a21bf38)
  • in order to provide a PR for the corruption bug.

Provide size of input (bytes)

particularly in the case of files / URL contents, it would be useful if this could also output the size of the input at the end.

This is particularly useful if I want to hash a file from a URL in the case where I don't know the size already and I don't want to download it twice to find both the size and the hash.

Needs a Logo Doodle

Dope hash seems a bit too obvious and isn't aesthetic. Neither are hash browns. Maybe a spatula. Or a frying pan. Yeah, a frying pan. I like that.

Package for Debian/Kali

It'd be neat if this got included in Kali Linux, as I think it'd be quite useful there. I'd like to learn more about how that process works.

Dependencies

Why are these mandatory?
click==6.6
colorama==0.3.7

Flask requires different version of these in the same project.

omnihash executable not in path

what is the relative path that oh and omnihash executables should be installed under? They don't seem to be in my path: #13

'omnihash' is not recognized as an internal or external command,
operable program or batch file.

Env: Windows 10, Python27

Specify specific hashing algorithms

it would be useful to limit the output / computation to a particular set of hashing algorithms.

For instance, I might only want: MD5, SHA1, SHA256

If there was an option to provide a list of digesters, that would be useful.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.