Accueil > > > CRYPTAGE DE FICHIERS (TOUT TYPES)
CRYPTAGE DE FICHIERS (TOUT TYPES)
Information sur la source
Description
Ce code est un module, paru sur une Liste de discussions VB permettant de crypter tout type de fichiers (binaire ou ascii), il inclut aussi le decryptage de ces fichiers... Je rapelle que la legislation en France interdit des clefs supérieures à 128 Bits... La fonction IsCrypted renvoie True ou False selon que le fichier à été crypté ou pas... La fonction IsVersionCompatible permet de savoir si le fichier à été crypté avec cette version de cryptage, elle renvoye bien sur True ou False selon les cas... Crypt_69 Prend pour paramètres le fichier source, puis le fichier cible et enfin le mot de pass (ou clef) de cryptage Decrypt_69 prend les même paramètres (avec source et cible inversé bien sur)... Notez que si la taille de la clef est identique au fichier à crypter, le décryptage par bruteforce est alors inutile...
Source
- Option Explicit
-
- ' Mis en ligne par 69VobD3 (DivX-Paradise.net)
-
- Public Function Crypt_69(Fichier As String, _
- FichierCrypte As String, MotPasse As String)
- ' On definit les variables locales
- Dim fs As Integer, fd As Integer
- Dim OS As Byte, OD As Byte
- Dim PtrMotPasse As Integer
- Dim CheckSumMP As String * 10
- Dim i As Double
- Dim cle As Byte
- ' Init pointeur clé de cryptage à 1
- PtrMotPasse = 1
- ' Ouverture des fichiers
- ' On efface le fichier destination si il existe déjà
- If Dir(FichierCrypte, vbNormal) <> "" Then Kill FichierCrypte
- 'Ouverture du fichier de destination
- fd = FreeFile
- Open FichierCrypte For Binary Access Write As fd
- 'Ouverture du fichier source
- fs = FreeFile
- Open Fichier For Binary Access Read As fs
- ' Sablier
- Screen.MousePointer = 11
- ' Ecriture du numéro de version
- Put #fd, , "69"
- ' On ajoute le mot 'CRYPT69'
- Put #fd, , "CRYPT69"
- ' Checksum de la clé de cryptage
- CheckSumMP = String$(10, " ")
- For i = 1 To Len(MotPasse)
- CheckSumMP = Format(Val(CheckSumMP) + Asc(Mid$(MotPasse, i, 1)))
- Next i
- Put #fd, , CheckSumMP
- ' Boucle sur le fichier source
- For i = 0 To LOF(fs) - 1
- Get #fs, , OS
- cle = 255 - Asc(Mid$(MotPasse, PtrMotPasse, 1))
- If (CInt(OS) + CInt(cle)) > 255 Then
- OD = CInt(OS) + CInt(cle) - 256
- Else
- OD = OS + cle
- End If
- Put #fd, , OD
- PtrMotPasse = PtrMotPasse + 1
- If PtrMotPasse > Len(MotPasse) Then
- PtrMotPasse = 1
- End If
- Next i
- 'Fermeture des fichiers
- Close fs
- Close fd
- 'Remise de la souris normale
- Screen.MousePointer = 0
- End Function
-
- Public Function DeCrypt_69(Fichier As String, _
- FichierCible As String, MotPasse As String)
- Dim fs As Integer, fd As Integer
- Dim OS As Byte, OD As Byte
- Dim PtrMotPasse As Integer
- Dim CheckSumMP As Long
- Dim i As Double
- Dim cle As Byte
- Dim Header As String * 19
- ' Init pointeur clé de cryptage à 1
- PtrMotPasse = 1
- ' Ouverture fichier source
- fs = FreeFile
- Open Fichier For Binary Access Read As fs
- Get #fs, , Header
- ' Vérif checksum clé de cryptage
- For i = 1 To Len(MotPasse)
- CheckSumMP = CheckSumMP + Asc(Mid$(MotPasse, i, 1))
- Next i
- If CheckSumMP <> Val(Mid$(Header, 10, 10)) Then
- MsgBox "Decryptage Echoué !"
- Close fs
- Exit Function
- End If
- ' Ouverture fichier destination
- Kill FichierCible
- fd = FreeFile
- Open FichierCible For Binary Access Write As fd
- ' Sablier
- Screen.MousePointer = 11
- ' Boucle sur le fichier source ( -entete)
- For i = 0 To LOF(fs) - 1 - 19
- Get #fs, , OS
- cle = 255 - Asc(Mid$(MotPasse, PtrMotPasse, 1))
- If (CInt(OS) - CInt(cle)) < 0 Then
- OD = CInt(OS) - CInt(cle) + 256
- Else
- OD = OS - cle
- End If
- Put #fd, , OD
- PtrMotPasse = PtrMotPasse + 1
- If PtrMotPasse > Len(MotPasse) Then
- PtrMotPasse = 1
- End If
- Next i
- 'Fermeture des fichiers
- Close fs
- Close fd
- 'Remise en placede la souris normale
- Screen.MousePointer = 0
- End Function
-
- Private Function IsCrypted(Fichier As String) As Boolean
- 'Definit les variables
- Dim f As Integer
- Dim Header As String * 19
- 'Ouverture du fichier
- f = FreeFile
- Open Fichier For Binary Access Read As f
- Get #f, , Header
- Close f
- If Mid(Header, 3, 7) = "CRYPT69" Then
- IsCrypted = True
- Else
- IsCrypted = False
- End If
- End Function
-
- Private Function IsVersionCompatible(Fichier As String) As Boolean
- Dim f As Integer
- Dim Header As String * 19
- f = FreeFile
- Open Fichier For Binary Access Read As f
- Get #f, , Header
- Close f
- If Val(Mid(Header, 1, 2)) = 69 Then
- IsVersionCompatible = True
- Else
- IsVersionCompatible = False
- End If
- End Function
Option Explicit
' Mis en ligne par 69VobD3 (DivX-Paradise.net)
Public Function Crypt_69(Fichier As String, _
FichierCrypte As String, MotPasse As String)
' On definit les variables locales
Dim fs As Integer, fd As Integer
Dim OS As Byte, OD As Byte
Dim PtrMotPasse As Integer
Dim CheckSumMP As String * 10
Dim i As Double
Dim cle As Byte
' Init pointeur clé de cryptage à 1
PtrMotPasse = 1
' Ouverture des fichiers
' On efface le fichier destination si il existe déjà
If Dir(FichierCrypte, vbNormal) <> "" Then Kill FichierCrypte
'Ouverture du fichier de destination
fd = FreeFile
Open FichierCrypte For Binary Access Write As fd
'Ouverture du fichier source
fs = FreeFile
Open Fichier For Binary Access Read As fs
' Sablier
Screen.MousePointer = 11
' Ecriture du numéro de version
Put #fd, , "69"
' On ajoute le mot 'CRYPT69'
Put #fd, , "CRYPT69"
' Checksum de la clé de cryptage
CheckSumMP = String$(10, " ")
For i = 1 To Len(MotPasse)
CheckSumMP = Format(Val(CheckSumMP) + Asc(Mid$(MotPasse, i, 1)))
Next i
Put #fd, , CheckSumMP
' Boucle sur le fichier source
For i = 0 To LOF(fs) - 1
Get #fs, , OS
cle = 255 - Asc(Mid$(MotPasse, PtrMotPasse, 1))
If (CInt(OS) + CInt(cle)) > 255 Then
OD = CInt(OS) + CInt(cle) - 256
Else
OD = OS + cle
End If
Put #fd, , OD
PtrMotPasse = PtrMotPasse + 1
If PtrMotPasse > Len(MotPasse) Then
PtrMotPasse = 1
End If
Next i
'Fermeture des fichiers
Close fs
Close fd
'Remise de la souris normale
Screen.MousePointer = 0
End Function
Public Function DeCrypt_69(Fichier As String, _
FichierCible As String, MotPasse As String)
Dim fs As Integer, fd As Integer
Dim OS As Byte, OD As Byte
Dim PtrMotPasse As Integer
Dim CheckSumMP As Long
Dim i As Double
Dim cle As Byte
Dim Header As String * 19
' Init pointeur clé de cryptage à 1
PtrMotPasse = 1
' Ouverture fichier source
fs = FreeFile
Open Fichier For Binary Access Read As fs
Get #fs, , Header
' Vérif checksum clé de cryptage
For i = 1 To Len(MotPasse)
CheckSumMP = CheckSumMP + Asc(Mid$(MotPasse, i, 1))
Next i
If CheckSumMP <> Val(Mid$(Header, 10, 10)) Then
MsgBox "Decryptage Echoué !"
Close fs
Exit Function
End If
' Ouverture fichier destination
Kill FichierCible
fd = FreeFile
Open FichierCible For Binary Access Write As fd
' Sablier
Screen.MousePointer = 11
' Boucle sur le fichier source ( -entete)
For i = 0 To LOF(fs) - 1 - 19
Get #fs, , OS
cle = 255 - Asc(Mid$(MotPasse, PtrMotPasse, 1))
If (CInt(OS) - CInt(cle)) < 0 Then
OD = CInt(OS) - CInt(cle) + 256
Else
OD = OS - cle
End If
Put #fd, , OD
PtrMotPasse = PtrMotPasse + 1
If PtrMotPasse > Len(MotPasse) Then
PtrMotPasse = 1
End If
Next i
'Fermeture des fichiers
Close fs
Close fd
'Remise en placede la souris normale
Screen.MousePointer = 0
End Function
Private Function IsCrypted(Fichier As String) As Boolean
'Definit les variables
Dim f As Integer
Dim Header As String * 19
'Ouverture du fichier
f = FreeFile
Open Fichier For Binary Access Read As f
Get #f, , Header
Close f
If Mid(Header, 3, 7) = "CRYPT69" Then
IsCrypted = True
Else
IsCrypted = False
End If
End Function
Private Function IsVersionCompatible(Fichier As String) As Boolean
Dim f As Integer
Dim Header As String * 19
f = FreeFile
Open Fichier For Binary Access Read As f
Get #f, , Header
Close f
If Val(Mid(Header, 1, 2)) = 69 Then
IsVersionCompatible = True
Else
IsVersionCompatible = False
End If
End Function
Conclusion
Attention, ce code ne m'appartient pas et je n'en suis pas l'auteur, je partage seulement cette ressource que je trouve formidable...
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|