Skip to content

makecookie fallback could be more random #566

Description

@antalk2

makecookie() { # bake a cookie

makecookie() {                  # bake a cookie
    #
    # /usr/bin/mcookie : mcookie generates a 128-bit random
    #                    hexadecimal number for use with the X
    #                    authority system.
    #
    #  $RANDOM : Bash has a built-in variable called $RANDOM that
    #            generates a pseudorandom integer between 0 and 32767
    #            each time it is called.
    #
    #            That is 15 random bits. We need 32*4 = 16*2*4
    #
    # TODO: The command
    #       echo $RANDOM$RANDOM$RANDOM$RANDOM$RANDOM$RANDOM | cut -b1-32
    #       only generates decimal digits.
    #       Use "%02x" to generate 8 random bits per use of $RANDOM
    #        
    #
    # mcookie 2>/dev/null || echo $RANDOM$RANDOM$RANDOM$RANDOM$RANDOM$RANDOM | cut -b1-32
    mcookie 2>/dev/null || {
        printf "%02x" $(($RANDOM % 256)) $(($RANDOM % 256)) $(($RANDOM % 256)) $(($RANDOM % 256)) 
        printf "%02x" $(($RANDOM % 256)) $(($RANDOM % 256)) $(($RANDOM % 256)) $(($RANDOM % 256)) 
        printf "%02x" $(($RANDOM % 256)) $(($RANDOM % 256)) $(($RANDOM % 256)) $(($RANDOM % 256)) 
        printf "%02x" $(($RANDOM % 256)) $(($RANDOM % 256)) $(($RANDOM % 256)) $(($RANDOM % 256))
        printf "\n"
        true
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions