- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
#!/bin/bash
# This function can be redefined to use any
# source of random
function get_random() {
echo $RANDOM;
}
function debug() {
local str="$*"
printf "\e[s\e[0;0H$str\e[u"
}
# Set limit for iterations, if given
if [ $# -ge 1 ] && grep -q '^[[:digit:]]\+$' <<< $1 ; then
LIMIT=$1
fi
# Previous random value
PREV=$(get_random)
# Current state
STATE="none"
printf "Analyzing random:"
# Main loop
while [ "x$LIMIT" = "x" ] || [ "$LIMIT" -gt "0" ]; do
RND=$(get_random)
debug random is $RANDOM
if [ $RND -gt $PREV ]; then
[ $STATE = "inc" ] && printf "|" || printf "\ninc |"
STATE="inc"
else
[ $STATE = "dec" ] && printf "|" || printf "\ndec |"
STATE="dec"
fi #> /dev/null
[ -n "$LIMIT" ] && let "LIMIT = $LIMIT - 1"
sleep 1
done
printf '\nExtiting\n'
Не помню уже зачем я это написал. Искал закладки АНБ в баше?
// Хотя у меня на тазике прослеживается аддитивно-мультипликативный метод генерации псевдо-рандома.
> During the story, Black Heart is encountered numerous times just to fight Neptune. After one of these fights, Black Heart is too exhausted to stay in her HDD form and reverts back to her human form.
Где ты такую упоротую аватарку нашел и про что аниме?
Это из игры, на самом деле. А одноимённое аниме - сплошной фансервис для фанов оной.
Ну башевский рандом вроде бы никогда не претендовал на криптостойкость... Да и на статистические свойства тоже... Равно как и сишный... /dev/[u]random - вот там другое дело.
Ну а тест на равномерность возрастаний-убываний, имхо, пройдет любой генератор, даже самый тупой. Есть куча ГПСЧ, которые проходят diehard, но при этом не считаются криптостойкими ;)