Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.05.2013, 20:34
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

Короткие хэши в URL.
Сегодня думал как сделать. http://pastebin.com/US7yN4qB вот что придумал. Такие хэши получаются 56U1z, собс-но похоже на pastebin. я с расчетом на то что этот будет использоваться для доступа к приватному ресурсу, либо приглашение в приложение и т.д.

Сначала думал md5 использовать

parseInt('5d7845ac6ee7cfffafc5fe5f35cf666d', 32)
2.4723739311530062e+47
base62.encode( parseInt('5d7845ac6ee7cfffafc5fe5f35cf666d', 32) );
"6B6jW1fN7g4ckQwmokEwqAWMw2a"


но ссылка слишком длинная, да и точность теряется. Как бы вы решили эту задачу?
Ответить с цитированием
  #2 (permalink)  
Старый 07.05.2013, 20:36
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

( function() {
    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
    
    base62 = {
        encode: function(n) {
            var s = '';
            
            do {
                s = chars[n % 62] + s;
            }
            while ( n = Math.floor(n / 62) );
            
            return s;
        },
        
        decode: function(s) { 
            var q = s.length,
                w,
                e = 0,
                r = 0;
                
            while (q--) {
                if ( w = chars.indexOf(s[q]) ) {
                    r += w * Math.pow(62, e);
                }
                
                ++e;
            }
            
            return r;
        }
    }
} )();


Это base62 конвертер для yoba-script мож кому потребуется
Ответить с цитированием
  #3 (permalink)  
Старый 07.05.2013, 22:49
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

base62.encode(100000000000);
"1l9Zo9o"
Ответить с цитированием
  #4 (permalink)  
Старый 07.05.2013, 23:33
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от qwerty-клавиатура
для доступа к приватному ресурсу
Как этот ресурс будет защищен от брутфорса?
Ответить с цитированием
  #5 (permalink)  
Старый 08.05.2013, 01:20
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

5 случаных символов - это 900 миллионов комбинаций, если известен id
Ответить с цитированием
  #6 (permalink)  
Старый 08.05.2013, 01:22
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

base62.decode('zzzzz') - base62.decode('10000') 
901356495
Ответить с цитированием
  #7 (permalink)  
Старый 08.05.2013, 01:47
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ну да, если по 10 запросов в секунду, то понадобится почти три года чтобы обойти все варианты. Однако быстрее нужную ссылку сольет какой-нибудь яндекс.бар (конечно если ссылка не одноразовая) ))
Ответить с цитированием
  #8 (permalink)  
Старый 08.05.2013, 02:11
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

можно добавить еще два символа случайных и тогда 10.000 лет на брут придется затратить
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не появляются картинки через jquery lobanov_kirill_ jQuery 1 22.09.2012 20:05
Помогите разделить URL адрес на составляющие части. Vitia28 Общие вопросы Javascript 5 09.05.2012 19:18
javascript для перехвата URL открытой страницы rafael Firefox/Mozilla 0 19.11.2011 14:48
Водяной знак на fancybox bobrina Общие вопросы Javascript 1 03.06.2011 21:11
переход на выбор сайт через поле ввода url (как убрать функцию "открыть все") ? rashid86 Элементы интерфейса 1 31.03.2011 14:54