Шифрование простой строки в.NET и JavaScript

Хотя вы не можете отключить все тайм-ауты между кластером Kafka и его потребителями, вы можете изменить некоторые свойства на очень длинные:

  • group.max.session.timeout.ms - это максимальное время ожидания сеанса для любого потребителя , По умолчанию это пять минут. Установите для этого параметра значение max max integer, такое как 2100000000, в файле свойств брокера, обычно называемом server.properties.
  • max.poll.interval.ms - Это похоже на тайм-аут сеанса и помечает потребителя как мёртвого, если в течение этого интервала нет опроса. Установите это значение также меньше request.timeout.ms, например 1900000000.

В Apache Camel вы захотите установить следующие свойства:

  • consumerRequestTimeoutMs - это максимальное время ожидания ответа от клиента. Установите для этого значение 2000000000.
  • sessionTimeoutMs - Вероятно, это тайм-аут сеанса, который помечает вашего потребителя как мертвого. Это должно быть установлено на значение меньше, чем request.timeout.ms. Итак, что-то вроде 1900000000.

Может быть еще несколько, найденных здесь , любой из которых с timeout или ms будет хорошим для просмотра.

9
задан Jonathan 14 April 2009 в 04:28
поделиться

5 ответов

System.Security.Cryptography имеет набор готовых симметричных (и асимметричных) алгоритмов шифрования использовать. (Для чего-то сверхбезопасного используйте aes )

Вы сможете найти подходящую реализацию Javascript для большинства (вот несколько реализаций aes в JS)

Примечание. Если вы планируете использовать шифрование на основе закрытого ключа, имейте в виду, ваша веб-страница будет иметь встроенный ключ, и это означает, что все это становится бессмысленным, потому что любой, имеющий доступ к странице, может расшифровать ее, в лучшем случае вы сделаете жизнь скребков экрана немного сложнее , Если ваша цель состоит в том, чтобы сделать скребки экрана более трудными, вы можете просто использовать алгоритм обфускации. Любая тривиальная реализация была бы очень непрактичной для скребков экрана, у которых нет движка JavaScript:

Например.

function samObsfucated()
{
    return("s" + "a" + "m" + "@" + "s" + "." + "com");
}

Затем при загрузке заполните поля электронной почты с выводом этих функций.

Шифрование Javascript имеет действительно хороший пример использования программного обеспечения, которое хранит пароли для пользователей. Ala clipperz

6
ответ дан 4 December 2019 в 08:02
поделиться

Как насчет простого XOR-шифра ?

Эти две реализации полностью совместимы:

9
ответ дан 4 December 2019 в 08:02
поделиться

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

В C# вы можете использовать:

string emailAddress = "abc@example.com";
string encoded = Convert.ToBase64String(Encoding.UTF8.GetBytes(emailAddress));

И вы можете использовать эту функцию JavaScript для декодирования:

function Base64Decode(encoded) {
   var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      enc1 = keyStr.indexOf(encoded.charAt(i++));
      enc2 = keyStr.indexOf(encoded.charAt(i++));
      enc3 = keyStr.indexOf(encoded.charAt(i++));
      enc4 = keyStr.indexOf(encoded.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;

      output = output + String.fromCharCode(chr1);

      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < encoded.length);

   return output;
}

Приложение C# кодирует строку abc@example.com в YWJjQGV4YW1wbGUuY29t, а версия JavaScript декодирует YWJjQGV4YW1wbGUuY29t обратно в abc@example.com.

10
ответ дан 4 December 2019 в 08:02
поделиться

In terms of the simplest thing that could possibly work, it seems that you want a simple form of obfuscation, rather than anything really secure.

Rot-13 might be enough, provided that you're dealing with an audience with ASCII email addresses. If you need to support Unicode, then you might need something slightly more sophisticated.

2
ответ дан 4 December 2019 в 08:02
поделиться

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

0
ответ дан 4 December 2019 в 08:02
поделиться