Создание уникальной алфавитно-цифровой 10 символьных строк

Заголовок Access-Control-Allow-Origin не входит ни в запрос ajax, ни в ответ ajax. Ошибка говорит о том, что скрипт пытается загрузить ресурс из недоверенного источника.

Источник здесь тот, откуда загружен скрипт. Таким образом, заголовок Access-Control-Allow-Origin должен быть установлен вашим бэкэндом, который обслуживает вас сценарий, содержащий отправку.

8
задан saturdayplace 21 January 2009 в 23:10
поделиться

7 ответов

Не должно быть никакого различия в случайности никакого данного бита хеша SHA-1, таким образом, это возможно. Иначе должен был бы свернуть хеш в себя с помощью XOR, пока Вы не имеете ценность на 60 битов данных, затем кодируете его с помощью Основы 64 для получения главным образом алфавитно-цифрового результата.

Это только необходимо, если Вы хотите смочь генерировать тот же идентификатор неоднократно для тех же входных данных. Иначе, если случайный идентификатор, который Вы генерируете однажды и держите на после этого, использует предложение Anders. Если Вы получаете конфликт, просто генерируете другой.

4
ответ дан 5 December 2019 в 14:06
поделиться

Можно использовать что, даже простой генератор случайных чисел; однако, необходимо проверить, что код резервирования уже не присутствует. Если это верно, добавьте символы ('x') к строке (date+user), пока Вы не получите новый random/sha1/etc.

Я только надеюсь иметь ~500 резервирования, таким образом, я не воображаю высокой вероятности коллизий.

Другая глупая идея: генерируйте 1 000 или 2 000 уникальных случайных чисел с желаемыми свойствами, сохраните их где-нибудь и присвойте их пользователям, как они регистрируются :)

3
ответ дан 5 December 2019 в 14:06
поделиться

Вот один способ сделать это в Perl:

sub get_random_name()
{
  my @chars=('a'..'z','A'..'Z');
  my $random_string;

foreach (1..22) { # rand @chars will generate a random # number between 0 and scalar @chars $random_string .= $chars[rand @chars]; } return $random_string . "-" . time(); }

Я не помню, какой длины время () часть, таким образом, Вам, вероятно, придется скорректировать числа для установки длине. Можно также удалить ту часть, если Вам не нужна она.

2
ответ дан 5 December 2019 в 14:06
поделиться

Если это - действительно всего 500, то предварительно генерируйте 20,000 из них, в таблицу, то станьте "следующими неиспользованный один" при необходимости в нем.

2
ответ дан 5 December 2019 в 14:06
поделиться

Некоторые хорошие советы по этому вопросу: Как я создаю случайную алфавитно-цифровую строку в C++?

Я избежал бы включая символы как "1", "l", и "O", "0" и "5", "S", и "Z", "2" в Вашей строке, для помощи клиентам, когда они должны прочитать код резервирования по телефону. Алгоритм, представленный в той ссылке, должен помочь Вам сделать это.

1
ответ дан 5 December 2019 в 14:06
поделиться

использовать гуид? 16 символов, хотя, если Вы действительно не заботитесь о коллизии, Вы могли бы просто выбрать первые n символы.

0
ответ дан 5 December 2019 в 14:06
поделиться

В C # вы можете использовать http: // www. dotnetfunda.com/forums/thread1357-how-do-generate-unique-alpha-numeric-random-number-in-aspnet.aspx (говорят, очень простой способ)

0
ответ дан 5 December 2019 в 14:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: