I don't know what unmarshall
ing means
Unmarshall dataChange alllocked
entries tofalse
Convert allpassword
entries to a preferred hashexplain why the hash is more secureadd a random salt
Marshall data back into a file
This primitive implementation can be used two different ways. Either:
- Run
make test
to satisfy the above requirements while using no salt for hashing - Run
ARG=anything make test
to satisfy the above requirements while using a random 128bit salt for hashing
I assumed quite a few things in this simple implementations. Specific references can be found by cat
ting for TODO:
s in code, while a human-readable list follows:
- No proper argument parsing implementation is used
- Many variables are preset with no ability to set in runtime
- Even if no salt is required at runtime, a blank one will be present in the result
- the original intention here was to allow for backwards compatibility: if we suppose that the output can't support a salt, it shouldn't be a part of the output. After all, this wasn't the case.
- Only one hashing algorithm is currently supported -
PBKDF2
, using SHA1
PBKDF2
was chosen due to its ability to include a salt in its hashing processes, as well as its general acceptance as a decent process in the community.