geo1st487 Δημοσ. 31 Μαρτίου 2009 Δημοσ. 31 Μαρτίου 2009 Πως μπορω να ελεγξω αν το περιεχομενο δυο αρχειων ειναι ιδιο; Να κανω ελεγχω byte προς bye δεν λεει γιατι εχει μεγαλη καθυστερηση. Καμια ιδεα; Ευχαριστω
georgemarios Δημοσ. 31 Μαρτίου 2009 Δημοσ. 31 Μαρτίου 2009 κανε το checsum και των 2 αρχειων και συγκρινε τα. Αν ειναι ιδια, η πιθανοτητα να ειναι διαφορετικα τα αρχεια ειναι πολυ μικρη. Αν παραλληλα συγκρινεις και filesize KAI filename, η πιθανοτητα γινεται ακομα μικροτερη.
geo1st487 Δημοσ. 31 Μαρτίου 2009 Μέλος Δημοσ. 31 Μαρτίου 2009 κανε το checsum και των 2 αρχειων και συγκρινε τα. Αν ειναι ιδια, η πιθανοτητα να ειναι διαφορετικα τα αρχεια ειναι πολυ μικρη. Αν παραλληλα συγκρινεις και filesize KAI filename, η πιθανοτητα γινεται ακομα μικροτερη. Πρακτικα με προγραμματισμο πως μπορω να κανω το checksum;
georgemarios Δημοσ. 31 Μαρτίου 2009 Δημοσ. 31 Μαρτίου 2009 σε τι γλωσσα γραφεις? με ενα google-αρισμα βρηκα αυτο και αυτο σιγουρα θα βρεις και αλλα.....
geo1st487 Δημοσ. 31 Μαρτίου 2009 Μέλος Δημοσ. 31 Μαρτίου 2009 σε τι γλωσσα γραφεις? με ενα google-αρισμα βρηκα αυτο και αυτο σιγουρα θα βρεις και αλλα..... VB6 Μπορω να κανω checksum οποιοδηποτε αρχειο; (π.χ. word, excel, pdf κλπ) Thanks για την βοηθεια
georgemarios Δημοσ. 31 Μαρτίου 2009 Δημοσ. 31 Μαρτίου 2009 Βασικα ναι, μπορεις να κανεις checksum οτιδηποτε, το φορτωνεις σε ενα buffer και κανεις calculations επανω του. Κανεις τα ιδια calculations επανω στο αλλο αρχειο και συγκρινεις αποτελεσματα. Το checksum θα ειναι ενα μεγαλο αλαφαριθμητικο που δεν θα βγαζει νοημα σε σενα. Το νοημα του ειναι πως αν σε ενα αρχειο γινει η παραμικρη αλλαγη, το checksum που θα βγαλει θα ειναι εντελως διαφορετικο. Γιαυτο ειναι πολυ απιθανο να πετυχεις δυο διαφορετικα αρχεια με το ιδιο checksum και σε αυτο στηριζεται η ολη λογικη του. ενα link για vb
geo1st487 Δημοσ. 31 Μαρτίου 2009 Μέλος Δημοσ. 31 Μαρτίου 2009 Βασικα ναι, μπορεις να κανεις checksum οτιδηποτε, το φορτωνεις σε ενα buffer και κανεις calculations επανω του. Κανεις τα ιδια calculations επανω στο αλλο αρχειο και συγκρινεις αποτελεσματα. Το checksum θα ειναι ενα μεγαλο αλαφαριθμητικο που δεν θα βγαζει νοημα σε σενα. Το νοημα του ειναι πως αν σε ενα αρχειο γινει η παραμικρη αλλαγη, το checksum που θα βγαλει θα ειναι εντελως διαφορετικο. Γιαυτο ειναι πολυ απιθανο να πετυχεις δυο διαφορετικα αρχεια με το ιδιο checksum και σε αυτο στηριζεται η ολη λογικη του. Αρα λοιπον μπορω να παρω το checksum απο οποιοδηποτε αρχειο; Ποσο μεγαλο αλφαριθμητικο ειναι το checksum; Με τα calculations παιρνω δειγματα απο τα δυο αρχεια και συγκρινω αν ειναι ιδια;
georgemarios Δημοσ. 31 Μαρτίου 2009 Δημοσ. 31 Μαρτίου 2009 καταρχην, δεν ξερω vb για να σου γραψω κωδικα αλλα.... Οταν ανοιγεις ενα αρχειο, αυτο μπορεις να το αντιγραψεις στη μνημη ας πουμε σε ενα πινακα χαρακτηρων. Καθε χαρακτηρας (στα περισοτερα λειτουργικα συστηματα τουλαχιστον) ειναι ενα byte. Αρα, αν εχεις ενα αρχειο (πχ ενα εξελοφυλλο, xls file) που ειναι 1Kb, χρειαζεσαι για να το αποθηκευσεις ενα πινακα 1024 (1024bytes = 1Kb) χαρακτηρων, οκ? Εφαρμοζεις λοιπον τους οποιους υπολοισμους σε αυτο το πινακα. Υπαρχουν διαφορα ειδη checksum, ενα γνωστο ειναι το md5 ας πουμε αλλα δε νομιζω να ειναι το γρηγοροτερο. Ισως αν ξερει κανεις να μας πει ποιο ειναι το γρηγοροτερο checksum που μπορουμε να κανουμε.
geo1st487 Δημοσ. 31 Μαρτίου 2009 Μέλος Δημοσ. 31 Μαρτίου 2009 τσεκαρισε αυτο Δωσε credits Το εχεις τσεκαρει; δουλευει; Θα το κοιταξω! Σ'ευχαριστω παρα πολυ ntaryl !
PCharon Δημοσ. 1 Απριλίου 2009 Δημοσ. 1 Απριλίου 2009 Όχι, ΔΕΝ ΕΙΝΑΙ πιο γρήγορο το να υπολογίζεις checksum. ΟΥΤΕ είναι πιο γρήγορο το να υπολογίζεις και να συγκρίνεις checksum για να δεις αν ΔΥΟ αρχεία είναι ίδια, σε καμία περίπτωση. ΕΙΝΑΙ πιο γρήγορο να συγκρίνεις checksum αντί για bytes ΟΤΑΝ πρόκειται για σύγκριση ΠΟΛΛΩΝ αρχείων μεταξύ τους, αλλά ΜΕΡΙΚΕΣ ΦΟΡΕΣ ΜΟΝΟ και σε συγκεκριμένου είδους συγκρίσεις. Για γενική χρήση, με τα κατάλληλα "κόλπα" ΕΙΝΑΙ πιο γρήγορο (και φυσικά πιο αξιόπιστο) το να συγκρίνεις bytes. > Αν το τελευταίο σας φαίνεται αδύνατο, συγκρίνετε το πρόγραμμα της υπογραφής μου σε περιπτώσεις πολλών αρχείων και σε "βαριές δουλειές με οποιοδήποτε άλλο πρόγραμμα θεωρείτε πως θα είναι γρηγορότερο.
geo1st487 Δημοσ. 1 Απριλίου 2009 Μέλος Δημοσ. 1 Απριλίου 2009 Όχι, ΔΕΝ ΕΙΝΑΙ πιο γρήγορο το να υπολογίζεις checksum. ΟΥΤΕ είναι πιο γρήγορο το να υπολογίζεις και να συγκρίνεις checksum για να δεις αν ΔΥΟ αρχεία είναι ίδια, σε καμία περίπτωση. ΕΙΝΑΙ πιο γρήγορο να συγκρίνεις checksum αντί για bytes ΟΤΑΝ πρόκειται για σύγκριση ΠΟΛΛΩΝ αρχείων μεταξύ τους, αλλά ΜΕΡΙΚΕΣ ΦΟΡΕΣ ΜΟΝΟ και σε συγκεκριμένου είδους συγκρίσεις. Για γενική χρήση, με τα κατάλληλα "κόλπα" ΕΙΝΑΙ πιο γρήγορο (και φυσικά πιο αξιόπιστο) το να συγκρίνεις bytes. > Αν το τελευταίο σας φαίνεται αδύνατο, συγκρίνετε το πρόγραμμα της υπογραφής μου σε περιπτώσεις πολλών αρχείων και σε "βαριές δουλειές με οποιοδήποτε άλλο πρόγραμμα θεωρείτε πως θα είναι γρηγορότερο. Δηλαδη και με checksum αργει; Θελω να συγκρινω δυο αρχεια μονο, οχι πολλα μαζι, αλλα θελω σε λιγα δευτερολεπτα να εχω το αποτελεσμα τη συγκρισης. Φυσικα θελω αξιοπιστια γιατι εστω και 1 byte να αλλαζει τοτε τα αρχεια ειναι διαφορετικα.
bxenos Δημοσ. 1 Απριλίου 2009 Δημοσ. 1 Απριλίου 2009 Απλή ανάγνωση buffers (όχι χαρακτήρων). Διαβάζεις δηλαδή πολλούς χαρακτήρες μαζι.Το προτινόμενο size των buffers είναι 4096. Και μετά συγκρίνεις στην μνήμη τα block.
geo1st487 Δημοσ. 1 Απριλίου 2009 Μέλος Δημοσ. 1 Απριλίου 2009 Το εχεις τσεκαρει; δουλευει;Θα το κοιταξω! Σ'ευχαριστω παρα πολυ ntaryl ! ntaryl μηπως ξερεις πως λειτουργει ο κωδικας που εδωσες; Θελω να μαθω κυριως τι ορισματα πρεπει να δωσω στις συναρτισεις και τι αντιπροσωπευουν οι τιμες που επιστρεφουν. Ευχαριστω
geo1st487 Δημοσ. 1 Απριλίου 2009 Μέλος Δημοσ. 1 Απριλίου 2009 Βρηκα ενα προγραμμα σε VB6 που υπολογιζει checksum και παραγει κωδικο με CRC32. Οποιος θελει μπορει να το δει. Φαινεται να λειτουργει καλα. ChecksumCRC.zip
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.