#python #perl #bash #line #interpreter
#python #perl #bash #строка #интерпретатор
Вопрос:
Я написал скрипт, который хранит цифровые подписи в двоичных файлах и файлах скриптов. Этот вопрос касается только скриптов: в настоящее время все эти подписи сохраняются в одной единственной строке (комментарии), такой как:
#!/usr/bin/perl
print "Hello"
print " Worldn"
#Signature:ASDASG13412sdflsal4sf etc........
Примером является Perl, но это сделано для всех языков сценариев (Perl, Python, shell-скрипты и т.д.)
Итак, теперь мой вопрос таков: могу ли я попасть в беду, если длина строки, содержащей подпись, слишком велика? Как интерпретатор справляется с этим? Если да, то каков максимальный. длину строки, которую я могу использовать?
Комментарии:
1. Я только что из любопытства попробовал 500 тыс. символов в одной строке на Python без проблем. Вероятно, вам следует просто попробовать это самостоятельно для всех упомянутых языков.
Ответ №1:
Большинство языков сценариев будут иметь достаточно большие ограничения, если действительно у них есть формальное ограничение на длину строк. POSIX рекомендует минимум 2048.
Какой длины ваши подписи? Скорее всего, не более 1024…in в таком случае я действительно не стал бы беспокоиться. Если это не работает для какого-либо языка, вы должны сообщить об ошибке, а не о чем-либо другом.
Комментарии:
1. Спасибо за ответ. Длина моих подписей зависит от того, какая длина ключа RSA используется. Я только что протестировал 4096-байтовый ключ (максимально возможный), который создает длину строки примерно 1,1 K
Ответ №2:
Perl также не имеет фиксированной максимальной длины строки, кроме как обусловленной использованием памяти.
Ответ №3:
В Python у вас не должно возникнуть никаких проблем с длиной строки, пока у вас достаточно памяти. В PHP вы можете быть ограничены объемом памяти, который разрешено использовать интерпретатору PHP (задается в php.ini)