Releases: ilius/repassgen
Releases · ilius/repassgen
Release 2022.09.07
Changes since last release (2021.10.21
)
Bug fixes and security improvements
- Fix panic when pattern ends with a single backslash
- Alteration: use the minimum entropy of alteration parts for overall pattern entropy
- For example
repassgen -entropy '([a-z]{8}|[0-9]{8})'
showed entropy 27 or 38 depending on which of two patterns ([a-z]{8}
or[0-9]{8}
) were chosen. Now it always shows 27 as entropy. - Why? Because shown entropy is for the pattern, not the password, so it should be always the same. The weakest part of alteration can make the pattern vulnerable if you don't pay enough attention to it.
- It's generally not a good idea to have largely-varied-entropy patterns as part of alteration.
- For example
Breaking changes
- Add
$byte()
and$BYTE()
functions which return hex - Remove
[:byte:]
character class (which returned binary and was a problem in text context) - Change all encode functions to take hex-encoded input
$base64
$base64url
$base32
$BASE32
$base32std
$bip39encode
New features
- Add
$pyhex
function (takes hex-encoded input like above)
Improvements and testing
- Safe integer type casting, and change some integer types for safety and performance
- Fix a few flaky tests, add new tests, improve coverage, better validation
- Lots of refactoring
Changes in dependencies
- Update and tidy dependencies
- Remove
github.com/spf13/cast
from dependencies
Release 2021.10.21
Changes since last release (2021.01.22
)
- Remove duplicate characters from
[:punct:]
character set - Add support for alteration inside a group, like
(a|bc|123)
- Add function
$hex2dec
to convert hex number to decimal number - Refactoring
- Better error messages
- Better unit testing
Release 2021.01.22
Changes since last release (2020.01.05)
- A lot of improvements in error messages
- A lot of refactoring
- Better unit testing
- New Features
- Unicode code points, like
[\u00e0-\u00ef]{5}
and\U0001F603
- Group references
\1
,\2
, etc- For example to repeat a generated string in a function
$escape(...)
Escape unicode characters, non-printable characters and double quote$?(...)
Randomly include or omit the string/pattern (%50 chance, adds 1 bit to entropy)$date(2000,2020,-)
Generate a random date in the given year range$space(...)
Adds spaces between each two characters of string (generated from given pattern)$expand(|...)
Adds|
(for example) between each two characters (similar to$space
)$rjust(PATTERN,N,X)
Justify to right,N
is width (N>=1),X
is the character to fill$ljust(PATTERN,N,X)
Justify to left, similar to$rjust
$center(PATTERN,N,X)
Justify to center, similar to$rjust
$romaji(...)
Converts Japanese hiragana/katakana string to Latin$shuffle(...)
Shuffle characters of string or generated password.- We can not calculate how much entropy it adds for now. So it won't add to entropy.
- Unicode code points, like
Bug fix release (2020.01.05)
- Remove duplicate characters inside
[]
- Effected randomness (added weight on duplicate characters)
- Showed wrong entropy (with
-entropy
flag)
Release 2019.05.31
Initial release
All features are listed in README.md