Skip to content

Issue with character class command ~e?C #4508

@b8vr

Description

@b8vr

There's a minor issue with the new character class command ~e?C

The following 3 uses of the command works as expected:

echo p@ssW0rd | hashcat --stdout -j '~e?d'
P@ssw0Rd

echo p@ssW0rd | hashcat --stdout -j '~e?s'
P@Ssw0rd

echo p@ssWord | hashcat --stdout -j '~e?u' (I replaced 0 with o to emphazise the result)
P@ssWOrd

But with character class ?l:
echo p@ssW0rd | hashcat --stdout -j '~e?l'
P@ssW0rd

In the last case I would expect the following:
P@sSW0rD

With character class ?H:
echo abCDefGHij | hashcat --stdout -j '~e?H'
AbCDEfghij

Works ish', but used on a word that contains characters not in A-F, I would not expect it to lowercase them.
I would expect:
AbCDEfGHij

With character class ?h:
echo abCDefGHijKL | hashcat --stdout -j '~e?h'
AbCdefGhijkl

With ?h I would expect:
AbCDeFGHij

On https://hashcat.net/wiki/doku.php?id=rule_based_attack in the description of the command, it says:

Capitalize the rst letter and every letter following a character from class C

I suggest changing it to:

Capitalize the first letter and every first letter following a character from class C

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions