2011-04-29 13 views
5

Napisałem skrypt przechowujący podpisy cyfrowe w plikach binarnych i skryptach. To pytanie dotyczy tylko skrypty: Obecnie wszystkie te podpisy przechowywane w jednej linii (komentarz), takie jak:Języki skryptów: Max. Długość linii

#!/usr/bin/perl 
print "Hello" 
print " World\n" 
#Signature:ASDASG13412sdflsal4sf etc........ 

Przykładem jest Perl, ale odbywa się to dla wszystkich języków skryptowych (Perl, Python, skrypty powłoki itp.) Moje pytanie brzmi: czy mogę popaść w kłopoty, jeśli długość linii zawierającej podpis jest zbyt długa? Jak interpretuje to tłumacz? Jeśli tak, to jaka jest maksymalna. długość linii, której mogę użyć?

+4

Właśnie wypróbowałem z ciekawości 500 000 znaków na jednej linii w Pythonie bez problemów. Powinieneś prawdopodobnie wypróbować to sam we wszystkich wymienionych językach. – Fenikso

Odpowiedz

3

Większość języków skryptowych będzie miała wystarczająco długie limity, jeśli rzeczywiście mają formalne ograniczenie długości linii . POSIX zaleca minimum 2048.

Jak długo są twoje podpisy? Najprawdopodobniej nie więcej niż 1024 ... w takim przypadku, naprawdę nie martwiłbym się. Jeśli nie działa w przypadku niektórych języków, należy zgłosić błąd, a nie cokolwiek innego.

+0

Dzięki za odpowiedź. Długość moich podpisów zależy od długości klucza RSA. Właśnie przetestowałem klucz 4096Byte (najdłuższy możliwy), który tworzy długość linii około 1,1K – Chris

2

W języku Python nie powinieneś mieć problemu z długością linii, o ile masz wystarczającą ilość pamięci. W PHP możesz być ograniczony ilością pamięci, którą może użyć interpreter PHP (ustawiony w php.ini).

3

Perl również nie ma ustalonej maksymalnej długości linii, innej niż narzucona przez użycie pamięci.