Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add 'Generate SSHA Hash' operation #1937

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

git-commit-amen
Copy link

This operation generates an RFC 2307-compliant, cryptographically-secure SSHA (Salted SHA1) password hash - commonly used for storing passwords in systems such as OpenLDAP.

More detail here on SSHA:
https://www.openldap.org/faq/data/cache/347.html

Some things to note:

  • Contrary what the similar-sounding name may suggest, this is different to the existing SHA1 operation (although does use SHA1 in part) and despite the code being very simple, it is actually a surprisingly difficult recipe to build in CyberChef using the existing set of operations
  • No automated test is applicable for this. This is because the output (although derived from the input) is not deterministic, as it involves a random IV
  • Given the intended use case of this involves entering a password into the input field, it would have been great to include a 'Mask Input' checkbox in the operation which causes the input field to mask, however I could not find any way to programmatically do this without attempting something extremely hacky... which just didn't seem right. Happy to consider any alternative options anyone may know of for that if it sounds like a good idea though.

@CLAassistant
Copy link

CLAassistant commented Nov 5, 2024

CLA assistant check
All committers have signed the CLA.

@git-commit-amen
Copy link
Author

Hey @a3957273, hope you're well. Is there anything further I can do to get this one over the line?
Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants