こんばんは、こうちゃんです。
以前紹介しました文字列操作関数の、
substr と str_shuffle を用いて、
ある程度ランダム性のあるパスワードを生成するプログラムです。
echo substr(str_shuffle('1234567890abcdefghijklmnopqrstuvwxyz'), 0, $length);
このようにすると、$lengthに数字を送ると、その文字数のランダム文字列が出力されます。
この場合、この文字列の順番を変えるだけですので、
同じ文字は1度まで、最大でも36文字の文字列になります。
仮にパスワードとして使うと、脆弱過ぎるので、
簡易的なパスワードに用いる場合などに。
もう少し複雑にしたい場合、
str_shuffle の対象文字列を、
1234567890abcdefghijklmnopqrstuvwxyz の後ろに A~Z の大文字アルファベット26文字も入れれば、大文字も入り、少し複雑になります。
同じように、!"#$%&'()=- とかも入れれば記号も入り複雑になります。
こうちゃん
2019年9月23日月曜日
2019年9月4日水曜日
文字列の一部分を返すsubstr
こんばんは、こうちゃんです。
文字列操作の関数の内、
指定文字列の一部を切り取るのに便利な関数、substrです。
利用法は、
公式
https://www.php.net/manual/ja/function.substr.php
より
substr ( string $string , int $start [, int $length ] ) : string
文字列 string の、start で指定された位置から length バイト分の文字列を返します。
string
入力文字列。最低 1 文字以上を指定しなければなりません。
start
start が正の場合、返される文字列は、 string の 0 から数えて start番目から始まる文字列となります。 例えば、文字列'abcdef'において位置 0にある文字は、'a'であり、 位置2には'c'があります。
start が負の場合、返される文字列は、 stringの後ろから数えて start番目から始まる文字列となります。
string の長さが start 文字より短い場合は FALSE が返されます。
例:
<?php
$rest = substr("abcdef", -1); // "f" を返す
$rest = substr("abcdef", -2); // "ef" を返す
$rest = substr("abcdef", -3, 1); // "d" を返す
$rest = substr("abcdef", 0, -1); // "abcde" を返す
$rest = substr("abcdef", 2, -1); // "cde" を返す
$rest = substr("abcdef", 4, -4); // false を返す
$rest = substr("abcdef", -3, -1); // "de" を返す
?>
こうちゃん
文字列操作の関数の内、
指定文字列の一部を切り取るのに便利な関数、substrです。
利用法は、
公式
https://www.php.net/manual/ja/function.substr.php
より
substr ( string $string , int $start [, int $length ] ) : string
文字列 string の、start で指定された位置から length バイト分の文字列を返します。
string
入力文字列。最低 1 文字以上を指定しなければなりません。
start
start が正の場合、返される文字列は、 string の 0 から数えて start番目から始まる文字列となります。 例えば、文字列'abcdef'において位置 0にある文字は、'a'であり、 位置2には'c'があります。
start が負の場合、返される文字列は、 stringの後ろから数えて start番目から始まる文字列となります。
string の長さが start 文字より短い場合は FALSE が返されます。
例:
<?php
$rest = substr("abcdef", -1); // "f" を返す
$rest = substr("abcdef", -2); // "ef" を返す
$rest = substr("abcdef", -3, 1); // "d" を返す
$rest = substr("abcdef", 0, -1); // "abcde" を返す
$rest = substr("abcdef", 2, -1); // "cde" を返す
$rest = substr("abcdef", 4, -4); // false を返す
$rest = substr("abcdef", -3, -1); // "de" を返す
?>
こうちゃん
登録:
投稿 (Atom)