Скремблирование / дешифрование строки в классическом ASP - PullRequest
1 голос
/ 21 января 2011

Я хочу отправить строку, которая имеет какое-то значение через URL.

Я знаю, что мог бы, вероятно, сделать другие вещи, чтобы отправить строку, но это единственный способ в этой ситуации.

Я хочу отправить его в нечитаемом формате и позже получить исходную строку.Я пытаюсь избегать слов «шифровать / дешифровать», потому что я провел исследование, и это кажется немного более сложным, чем то, что я хочу в классическом ASP (если я не пропустил что-то).Так что я на самом деле не хочу реализовывать алгоритм шифрования / дешифрования.Я надеюсь, что в ASP есть что-то, что позволит мне сделать это.

Я ищу как способ шифрования сообщения, так и способ его вернуть.

Есть предложения?

Ответы [ 4 ]

1 голос
/ 21 января 2011

Нет, встроенной реализации по умолчанию для шифрования / дешифрования строки в классическом ASP нет. Вот почему есть миллион пользовательских примеров того, как шифровать / дешифровать строки в классическом ASP. Это действительно не так "вовлечено", как вы думаете. Например, посмотрите этот пример 2002 года:

Шифрование / дешифрование классических строк запросов ASP

0 голосов
/ 22 января 2011

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

А если вы хотите действительно зашифровать то, что вы передаете между страницами ASP, используйте ссылку, предложенную Джорджем.

Протестировано мной, и оно делает именно то, что вам нужно, независимо от того, какой тип данных вы передаете: строковые или числовые.

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

В IIS 7 есть какая-то ошибка, которая очищает сессии за очень короткий промежуток времени или если ваш пользователь отправил что-то еще.

0 голосов
/ 22 января 2011

Почему бы не отправить информацию в POST вместо GET? Таким образом, он не виден пользователю. Вам нужно будет включить более подробную информацию, чтобы мы знали, являются ли это приемлемыми вариантами.

- ИЛИ -

Как насчет этого гениального кода ....

<%

 'Functions for Encrypting/Decrypting querystrings

  '******************************'******************************

Function Encrypt(Input)

Dim Temp

Temp = CDbl(Input)
Temp = Temp * 7
Temp = Temp + 37
Temp = Temp * 13
Temp = Temp + 91

Encrypt = Temp 

End Function 'Encrypt

'******************************

Function Decrypt(Input)

Dim Temp

Temp = CDbl(Input)
Temp = Temp - 91
Temp = Temp / 13
Temp = Temp - 37
Temp = Temp / 7

Decrypt = Temp 

End Function 'Decrypt

'******************************

%>

Бонус ... Теперь вы можете написать Sql Queries таким образом, чтобы найти запись, когда строка запроса зашифрована ...

Select * from sometable where id = (((@id * 7) + 37) *13) + 91

Пожалуйста, не используйте это ...

0 голосов
/ 21 января 2011

Если вы хотите зашифровать строку (в отличие от ее шифрования), напишите собственный кодировщик / декодер rot13 .

Тот же алгоритм может быть легко применен для перевода всех символов ASCII.

Возможно, вам лучше хранить те же данные в сеансе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...