StackOverflow предупреждает меня о том, что за этот вопрос меня могут понизить, но я был бы признателен за то, что вы этого не делаете, поскольку я публикую это просто, чтобы попытаться понять задание по программированию, с которым я столкнулся, и над которым яНекоторое время я был озадачен.
Я делаю несколько упражнений по кодированию javascript, и одним из заданий было разработать «функцию шифрования», encipher
, которая зашифровывает 4-значное число путем умноженияэто число достаточно низкое, так что ни одна из его цифр не превышает 9, так что возвращается четырехзначное число.Таким образом,
encipher(0204)
может дать
0408
, где множитель был бы 2
.- Это очень простой материал, просто чтобы попрактиковаться в Javascript.- Но, насколько я понимаю, возвращенные числа никогда не могут быть расшифрованы (что является следующей частью упражнения).Даже если вы храните словарь, внутренний для encipher
, вдоль линий
{'0408':'2'}, etc
, чтобы вы могли выполнить поиск по 0408
и вернуть 0204
, эти записи не могут бытьуникальный.Например, если бы один получил расшифровку числа 9999
, он никогда бы не узнал, было ли исходное число 9999
(умноженное на 1), 3333
(умноженное на 3) или 1111
(умноженное на 9).Это верно?Я понимаю, что это довольно глупая и искусственная проблема, но я пытаюсь понять, если инструкции к упражнению не совсем верны, или я что-то упускаю.Вот исходная проблема:
Теперь давайте добавим еще один уровень безопасности.После изменения положения цифр мы умножим каждого члена на число, умножение которого не превышает 10. (Если оно больше 10, мы получим двузначное умножение, и код больше не будет иметь 4 значения).Теперь внедрите в другую функцию функцию decrypter (), которая получит в качестве аргумента зашифрованный код (и, соответственно, умноженный в предыдущем разделе и вернет расшифрованный код.
Оставив упражнение позади, я 'Мне просто любопытно, существует ли какой-либо способ «зашифровать» (когда я говорю «зашифровать», я имею в виду на умеренном уровне JavaScript, поскольку я не специалист по криптографии) n-значное число и вернуть уникальное n-значное число?
Спасибо за любые идеи. -