Есть много ответов на этот вопрос, но ни один из них не использует Криптографически безопасный генератор псевдослучайных чисел (CSPRNG).
Простой, безопасный и правильный ответ - использовать RandomLib и не изобретать велосипед.
Для тех из вас, кто настаивает на изобретении собственного решения, PHP 7.0.0 предоставит random_int()
для этой цели; если вы все еще используете PHP 5.x, мы написали PHP 5 polyfill для random_int()
, чтобы вы могли использовать новый API даже до обновления до PHP 7.
Безопасное создание случайных целых чисел в PHP не является тривиальной задачей. Вы должны всегда проверять ваших постоянных экспертов по криптографии StackExchange , прежде чем внедрять собственный алгоритм в производство.
С безопасным целочисленным генератором на месте генерация случайной строки с CSPRNG - прогулка в парке.
/**
* Generate a random string, using a cryptographically secure
* pseudorandom number generator (random_int)
*
* For PHP 7, random_int is a PHP core function
* For PHP 5.x, depends on https://github.com/paragonie/random_compat
*
* @param int $length How many characters do we want?
* @param string $keyspace A string of all possible characters
* to select from
* @return string
*/
function random_str($length, $keyspace = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
{
$pieces = [];
$max = mb_strlen($keyspace, '8bit') - 1;
for ($i = 0; $i < $length; ++$i) {
$pieces []= $keyspace[random_int(0, $max)];
}
return implode('', $pieces);
}
Использование :
$a = random_str(32);
$b = random_str(8, 'abcdefghijklmnopqrstuvwxyz');
Демонстрация : https: // 3v4l.org/b4PST (Игнорировать сбои PHP 5; требуется случайный компас)
dpkg является debian диспетчером пакетов, так как Вы установили Nebeans (по-видимому, локальный) сценарий, это не будет перечислено в dpkg-l.
Получают команду приложения от, он - файл на рабочем столе:
, Когда Вам установили приложение, которого Вы не знаете команду, но у Вас действительно есть файл на рабочем столе, можно считать ее из содержания файла на рабочем столе. Ссылка, которую Вы имеете на своем рабочем столе , файл на рабочем столе. Ищите строку, начиная с "Должностного лица =". Что прибывает после того, как та строка является командой, которую Вы ищете.
Подают заявку, доступную в Тире:
Обычно, установка приложений файл на рабочем столе в /usr/share/applications
(как emacs делает). Если файл на рабочем столе расположен или в том месте или в ~/.local/share/applications
, появляется в Тире автоматически, поэтому при копировании файла на рабочем столе в ~/.local/share/applications
это появится в Тире после того, как затем войдут в систему.
Открывают приложение (только) это - имя двоичного файла (или не):
Netbeans не открывался на команде netbeans
, потому что оболочка не знает путь к Вашему двоичному файлу. Если двоичные файлы будут расположены в /usr/bin
(путь по умолчанию к двоичным файлам приложения), то они откроются сразу же без префикса пути. Это имеет место, например, с emacs.
, Если приложение не устанавливает свой двоичный файл в /usr/bin
, существует три возможности; любой файл на рабочем столе приложения выполняет строку, включает путь к файлу, как Вы видите, например, в выполнить строке file-explorer indicator
файл на рабочем столе: /opt/indicator-file-explorer/bin/indicator-file-explorer
, или путь к двоичному файлу добавляется к $PATH (/etc/environment
), таким образом, оболочка будет искать двоичные файлы в том каталоге также, или приложение устанавливает ссылку на двоичный файл в /usr/bin
. Все три опции действительно происходят, неважно, способ, которым установлено приложение.
, Если бы Вы установили свое приложение локально, это была бы плохая идея (попробуйте к-), создайте ссылку на двоичный файл приложения из глобального каталога, такой как [1 110]; другие пользователи застряли бы с битой ссылкой, потому что у них нет действительных полномочий в Вашем корневом каталоге. Поэтому самый легкий путь состоит в том, чтобы создать локальный каталог bin (~/bin
) и создать ссылку на локальный двоичный файл из того каталога (ln-sf). Тем путем можно выполнить локально установленный Netbeans единственной командой netbeans
.
Не знайте, могло ли это помочь, но какие работы для меня предполагает, что Вы - текущий корневой каталог своего пользователя
./netbeans-8.0.2/bin/netbeans
, я установил netbeans путем загрузки sh установщика с их веб-сайта. Просто любопытный о том, как выполнить netbeans через терминал и это работало на меня.
Принятие Вы загрузили 7,4 версий
при установке netbeans из .sh установщика использование sudo
тогда, команда по умолчанию для выполнения netbeans:
/bin/sh "/usr/local/netbeans-7.4/bin/netbeans"
при установке netbeans без sudo
тогда команда по умолчанию:
~/netbeans-7.4/bin/netbeans
usr/bin
в файл или приложение в локальном каталоге. Другие пользователи столкнулись бы с " dead" ссылка, так как у них нет полномочий в Вашем локальном каталоге. Если Вы создаетеbin
каталог в Вашем корневом каталоге и помещаете ссылку туда (ln -sf /home/al1357/netbeans-8.0/bin/netbeans /home/al1357/bin/netbeans
), это должно работать, после выходят из системы / входят в систему. (если я ничего не вводил с опечаткой). Много раз это работает как этот. – modiX 18.05.2020, 00:50