Вы также можете попробовать это так
var data = 22;
if (Number.isInteger(data)) {
console.log("integer");
}else{
console.log("not an integer");
}
или
if (data === parseInt(data, 10)){
console.log("integer");
}else{
console.log("not an integer");
}
Оказывается, я допустил ошибку, и эта функция действительно создает рабочие записи APR1 htpasswd. Они действительно выглядят иначе, чем те, что создает Apache, но работают.
Поищите существующие компоненты, которые делают это, на таких сайтах, как phpclasses.org. Один пример: http://www.phpclasses.org/browse/package/5066.html .
Это может быть немного взломано, но рассматривали ли вы возможность использования функции exec () для вызова команды, которая генерирует htpasswd?
Спасибо! Работает как часы.
Небольшой комментарий: соль может также содержать «./» и «A..Z» помимо «a..z0..9», поэтому это та же строка, что и строка «translate-to» в последняя строка. А иногда вы хотите дополнительно установить соль, чтобы получить воспроизводимые результаты, например:
function crypt_apr1_md5 ($ plainpasswd, $ salt = '') {
$ translateTo = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
если ($ salt == '') {$ salt = substr (str_shuffle ($ translateTo), 0, 8); }
...
$ tmp = strtr (strrev (substr (base64_encode ($ tmp), 2)),
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 + /",
$ translateTo);
вернуть '$ apr1 $'. $ salt. '$'. $ tmp;
}