В чем разница между обфускацией, хешированием и шифрованием?

Согласно этой проблеме GitHub , SSH.NET поддерживает UAP 10 / UWP с SSH.NET 2016.0.0-beta1.

Вы можете скачать его здесь: https://www.nuget.org/packages/SSH.NET

Затем используйте его, чтобы сделать что-то вроде:

using (var client = new SshClient("hostnameOrIp", "username", "password"))
{
    client.Connect();
    client.RunCommand("...");
    client.Disconnect();
}

30
задан Cade Roux 8 October 2008 в 19:02
поделиться

11 ответов

Хеширование является методом создания полууникальных ключей на основе больших частей данных. В данном хеше у Вас в конечном счете будут "коллизии" (например, две различных части данных, вычисляющих к тому же значению хэш-функции) и когда Вы сделаете, Вы обычно создаете больший размер ключа хеша.

путаница обычно включает попытку удалить полезные подсказки (т.е. значимая переменная/имена функций), удаление пробела для создания вещей трудно для чтения, и обычно выполнение вещей замысловатыми способами сделать следующее, что продолжается трудный. Это обеспечивает, никакой серьезный уровень безопасности как "истинное" шифрование не был бы.

Шифрование может следовать нескольким моделям, одна из которых является "секретным" методом, названным шифрованием с закрытым ключом, где у обеих сторон есть секретный ключ. Шифрование с открытым ключом использует общий односторонний ключ для шифрования и частный ключ получателя для дешифрования. С открытым ключом только у получателя должен быть секрет.

29
ответ дан theraccoonbear 8 October 2008 в 19:02
поделиться
  • 1
    @skofgar - Я должен тот прием Доступ 2 007 Progammer' s Ссылка от Wrox. Почти стоящий цены книги отдельно. – RolandTumble 19 May 2011 в 19:15

Путаница в криптографии кодирует входные данные прежде , это хешируется или шифруется.

Это делает атаки перебором менее выполнимыми, поскольку становится более трудным определить корректный открытый текст.

3
ответ дан Rinat Abdullin 8 October 2008 в 19:02
поделиться

Весь штраф, кроме путаницы не действительно подобен шифрованию - иногда это даже не включает шифры, столь же простые как ROT13.

0
ответ дан Cade Roux 8 October 2008 в 19:02
поделиться
  • 1
    Ясно... спасибо за объяснение. Но так или иначе, управляет с visibility didn' t работают на меня на Chrome Win7... – Lukasz Czerwinski 4 December 2013 в 20:58

Это - то, как я всегда смотрел на него.

  • Хеширование получает значение от другого, с помощью алгоритма набора. В зависимости от используемого алгоритма это может быть одним путем, может не быть.

  • Запутывание делает что-то тяжелее для чтения заменой символа.

  • Шифрование похоже на хеширование, кроме значения зависит от другого значения, которое Вы предоставляете алгоритму.

2
ответ дан Wes P 8 October 2008 в 19:02
поделиться
  • 1
    Добавьте код в своем ответе. Fiddle' s всегда хороши к , демонстрируют результаты. – HamZa 30 June 2013 в 14:17
  • Хеширование является односторонней задачей создавания одной стоимости от другого. Алгоритм должен попытаться создать стоимость, которая настолько коротка и уникальна насколько возможно.

  • путаница делает что-то нечитабельным, не изменяя семантику. Это включает преобразование значения, удаляя пробел, и т.д. Некоторые формы путаницы могут также быть односторонними, таким образом, невозможно добраться, шифрование начального значения

  • является двухсторонним, и всегда существует некоторое дешифрование, работающее наоборот.

Так, да, Вы главным образом корректны.

0
ответ дан Milan Babuškov 8 October 2008 в 19:02
поделиться
  • 1
    @LukaszCzerwinski Да, я заметил, что, он раньше работал, но больше не делает! Я удалил видимость, спасибо за Вас предложение – koningdavid 4 December 2013 в 21:18

Путаница просто делает что-то тяжелее для понимания intruducing методами для смущения кого-то. Кодируйте obfuscators, обычно делают это путем переименования вещей удалить что-либо значимое из имен переменной или имен методов. Это не подобно шифрованию, в котором ничто не должно быть дешифровано, чтобы использоваться.

Как правило, различие между хешированием и шифрованием - то, что хеширование обычно просто использует формулу для перевода данных в другую форму, где шифрование использует ключ (ключи) требования формулы для шифрования/дешифрования. Примерами была бы кодировка Base 64, являющаяся хеш-алгоритмом где md5, являющийся алгоритмом шифрования. Любой может не хешировать закодированные данные base64, но Вы не можете не зашифровать md5 зашифрованные данные без ключа.

0
ответ дан Jeremy 8 October 2008 в 19:02
поделиться
  • 1
    Положительная сторона, которую Вы переключили от opacity:0 до display:none. Иначе Вы получаете странный эффект наблюдения подсказки при парении вокруг элемента, поскольку Вы толпитесь на подсказке, даже если это не видимо. – J0ANMM 10 January 2017 в 12:01

Это - объяснение высокого уровня. Я попытаюсь совершенствовать их:

Хеширование - в идеальном мире, это - случайный оракул. Для того же входа X, Вы всегда получаете тот же вывод Y, который никоим образом не связан с X. Это математически невозможно (или по крайней мере бездоказательно, чтобы быть возможным). Самыми близкими, которые мы получаем, являются функции лазейки. H (X) = Y для с H-1 (Y) = X является настолько трудным сделать, Вы - более обеспеченная попытка к грубой силе Z, таким образом, что H (Z) = путаница Y

(мое мнение) - Любая функция f, такой, что f (a) = b, где Вы полагаетесь на f быть секретным. F может быть хеш-функцией, но часть "путаницы" подразумевает безопасность через мрак. Если бы Вы никогда не видели ROT13 прежде, это была бы путаница

Шифрование - Ek(X) = Y, Делавэр (Y) = X, где E известен всем. k и l являются ключами, они могут быть тем же (в симметричном, они - то же). Y является шифрованным текстом, X простой текст.

7
ответ дан Tom Ritter 8 October 2008 в 19:02
поделиться
  • 1
    эти On Error GoTo 0 было действительно полезно для меня, потому что у меня была проблема, что On Error Resume Next - блок не только проигнорировал Ошибки в первой части, хотел его к, но также и во всем коде после, который я wasn' t знающий. Но благодаря Вам всем здесь в StackOverflow, I' ll быть в состоянии записать лучший код с лучшей обработкой ошибок:-) – skofgar 23 May 2011 в 09:56

Путаница скрывает или делает что-то тяжелее для понимания.

Хеширование берет вход, выполняет его через функцию и генерирует вывод, который может быть ссылкой на вход. Это не обязательно уникально, функция может генерировать тот же вывод для различных исходных данных.

Шифрование преобразовывает вход в вывод уникальным способом. Существует непосредственная корреляция, таким образом, нет никаких возможных потерь данных или беспорядка - вывод может всегда преобразовываться назад к входу без неоднозначности.

0
ответ дан Graeme Perrow 8 October 2008 в 19:02
поделиться
  • 1
    Хорошая идея, но it' ll только содержат текст, не, содержимое HTML как OP хочет. – lifetimes 30 June 2013 в 14:14

Это не плохое высокоуровневое описание. Вот некоторые дополнительные соображения:

Хеширование обычно уменьшает большой объем данных до намного меньшего размера. Это полезно для проверки содержания файла, не имея необходимость иметь две копии для сравнения, например.

Шифрование включает хранить некоторые секретные данные, и безопасность секретных данных зависит от хранения отдельного "ключевого" сейфа от плохих парней.

Путаница скрывает некоторую информацию без отдельного ключа (или с фиксированным ключом). В этом случае хранить в тайне метод состоит в том, как Вы бережно храните данные.

От этого, Вы видите, как хеш-алгоритм мог бы быть полезен для цифровых подписей и проверки содержания, как шифрование используется для обеспечения файлов и сетевых соединений, и почему путаница используется для управления цифровыми правами.

2
ответ дан Mark Bessey 8 October 2008 в 19:02
поделиться
  • 1
    Этот doesn' t работают очень хорошо. Если Вы будете толпиться .tooltip без колеблющегося .hover, то подсказка подойдет. Поэтому я предложил, добавляют visibility: hidden/visible для предотвращения этого. – pzin 30 June 2013 в 15:12

Краткий ответ:

Хеширование - создание поля проверки на некоторых данных (для обнаружения, когда данные изменяются). Это - один способ, которым функция и исходные данные не могут быть получены из хеша. Типичные стандарты для этого являются SHA-1, SHA256 и т.д.

, Путаница - изменяет Ваши данные/код для смущения кого-либо еще (никакая реальная защита). Это может или не может освободить некоторые исходные данные. Нет никаких реальных стандартов для этого.

Шифрование - использование ключа для преобразования данных так, чтобы только те с корректным ключом могли понять его. Зашифрованные данные могут быть дешифрованы для получения исходных данных. Типичные стандарты являются DES, TDES, AES, RSA и т.д.

1
ответ дан selwyn 8 October 2008 в 19:02
поделиться
  • 1
    @Kenneth_hj Привет Kenneth, эффект перехода является CSS3 в более старом браузере, это будет работать, только без перехода! – koningdavid 15 September 2013 в 15:26

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

Это является наиболее часто используемым в логинах для сравнения паролей, и можно также найти его на reciepe, если Вы делаете покупки с помощью кредитной карты. Там Вы найдете свой номер кредитной карты с некоторыми числами скрытым, этот способ, которым можно доказать с высоким propability, что карта использовалась для покупки материала, в то время как кто-то перерывающий мусор не будет в состоянии найти количество карты.

А очень наивный и простой хеш "Первые 3 буквы строки" . Это означает, что хеш "abcdefg" будет "abc". Эта функция не может, очевидно, быть инвертирована, который является всей целью хеша. Однако обратите внимание, что "abcxyz" будет иметь точно тот же хеш, это называют коллизия . Так снова: хеш только доказывает с определенным propability, что два сравненных значения - тот же .

Другой очень наивный и простой хеш является с 5 модулями из числа, здесь Вы будете видеть это 6,11,16 и т.д. будет все иметь тот же хеш: 1.

современные хеш-алгоритмы разработаны для хранения количества коллизий максимально низко, но они никогда не могут быть completly, которого избегают. Эмпирическое правило: чем дольше Ваш хеш, тем меньше коллизий он имеет.

6
ответ дан 8 October 2008 в 19:02
поделиться
  • 1
    большое спасибо за этот Обработчик ошибок:-) Это выглядит довольно хорошим, однако это - вероятно, Излишество для инструмента I' m продолжающий работать. Но все еще.. возможно, I' ll реализуют его:-), BTW, логотип чудесен: D I' ll держат Вас в курсе, если мне нужен один как это – skofgar 18 May 2011 в 09:10