Accueil > > > CRYPTAGE / DECRYPTAGE RC4 POUR VB .NET
CRYPTAGE / DECRYPTAGE RC4 POUR VB .NET
Information sur la source
Description
Hello,
J'ai porté en VB .Net la classe de cryptage RC4 de lolo32. J'y ai ajouté quelques fonctionnalités en plus :
-cryptage d'un fichier dans un variable
- cryptage d'un fichier dans un autre fichier
- décryptage d'un fichier dans une variable
- décryptage d'un fichier dans un autre fichier
- génération aléatoire d'une clef de cryptage
Source
- Option Explicit On
-
- Imports System.IO
- Imports System.Text
-
- Public Class RC4
- '/*******************************************/
- '/* Mise à jour v_1.0.1
-
- 'Classe de cryptage réécrite pour VB .NET à partir du code de
- 'lolo32 (http://www.vbfrance.com/article.aspx?Val=5278)
- ' Pour toute question dcampillo@gmail.com
-
- #Region "Const"
- Private _version As String = "1.0.1"
- #End Region
-
- #Region "Private var"
- Private S(255) As Integer
- Private cls_Key As String
- #End Region
-
- #Region "Property"
- Public Property Key() As String
- Get
- Return cls_Key
- End Get
- Set(ByVal Key As String)
- cls_Key = Key
- End Set
- End Property
-
- Public ReadOnly Property Version() As String
- Get
- Return _version
- End Get
- End Property
- #End Region
-
- Public Sub New()
-
- End Sub
-
- Public Sub New(ByVal Key As String)
- Me.Key = Key
- End Sub
-
- Public Function Crypt(ByVal Param As String) As String
- Dim ParamLen As Integer = Param.Length
- Dim C As Integer
- Dim T As Integer
- Dim i As Integer
- Dim j As Integer
-
- Dim oStringBuilder As New StringBuilder
-
- CreateKeyArray()
-
- For C = 0 To ParamLen - 1
- i = (i + 1) And 255
- j = (j + S(i)) And 255
- T = S(i)
- S(i) = S(j)
- S(j) = T
-
- T = (S(i) + S(j)) And 255
-
- oStringBuilder.Append(Chr(Asc(Param.Substring(C, 1)) Xor S(T)))
- Next C
-
- Return oStringBuilder.ToString
- End Function
-
- Public Overloads Function CryptFile(ByVal FilePath As String) As String
- Dim oFileInfo As New FileInfo(FilePath)
-
- If oFileInfo.Exists Then
- Dim oFileStream As New FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
- Dim oFileReader As New StreamReader(oFileStream, System.Text.Encoding.Default)
-
- If oFileStream.CanRead Then
- Dim FileContent As String = oFileReader.ReadToEnd
- Dim FileLen As Int32 = FileContent.Length
- Dim C As Integer
- Dim T As Integer
- Dim i As Integer
- Dim j As Integer
-
- Dim oStringBuilder As New StringBuilder
-
- CreateKeyArray()
-
- For C = 0 To FileLen - 1
- i = (i + 1) And 255
- j = (j + S(i)) And 255
- T = S(i)
- S(i) = S(j)
- S(j) = T
-
- T = (S(i) + S(j)) And 255
-
- oStringBuilder.Append(Chr(Asc(FileContent.Substring(C, 1)) Xor S(T)))
- Next C
-
- Return oStringBuilder.ToString
- Else
- Throw New Exception("Impossible de lire le fichier " & FilePath)
-
- End If
- Else
- Throw New Exception("Impossible de trouver le fichier " & FilePath)
- End If
- End Function
-
- Public Overloads Function CryptFile(ByVal FilePath As String, ByVal OutPutFile As String) As Long
- Dim oFileInfo As New FileInfo(FilePath)
-
- If oFileInfo.Exists Then
- Dim oFileStream As New FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
- Dim oFileReader As New StreamReader(oFileStream, System.Text.Encoding.Default)
-
- If oFileStream.CanRead Then
- Dim FileContent As String = oFileReader.ReadToEnd
- oFileStream.Close()
- oFileReader.Close()
-
- Dim ParamLen As Int32 = FileContent.Length
- Dim C As Integer
- Dim T As Integer
- Dim i As Integer
- Dim j As Integer
-
- Dim oStringBuilder As New StringBuilder
-
- CreateKeyArray()
-
- For C = 0 To ParamLen - 1
- i = (i + 1) And 255
- j = (j + S(i)) And 255
- T = S(i)
- S(i) = S(j)
- S(j) = T
-
- T = (S(i) + S(j)) And 255
-
- oStringBuilder.Append(Chr(Asc(FileContent.Substring(C, 1)) Xor S(T)))
- Next C
-
- Dim oWriteStream As New FileStream(OutPutFile, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)
- Dim oFileWriter As New StreamWriter(oWriteStream, System.Text.Encoding.Default)
-
- Try
- oFileWriter.Write(oStringBuilder.ToString)
- Catch err As Exception
- Throw New Exception("Impossible d'écrire le fichier de sortie " & OutPutFile)
- End Try
-
- oFileWriter.Close()
-
- Return 0
-
- Else
- Throw New Exception("Impossible de lire le fichier " & FilePath)
- End If
- Else
- Throw New Exception("Impossible de trouver le fichier " & FilePath)
- End If
- End Function
-
- Public Function Decrypt(ByVal Param As String) As String
-
-
-
- Dim ParamLen As Integer = Len(Param)
- Dim C As Integer
- Dim T As Integer
- Dim i As Integer
- Dim j As Integer
-
- Dim oStringBuilder As New StringBuilder
-
- CreateKeyArray()
-
- For C = 0 To ParamLen - 1
- i = (i + 1) And 255
- j = (j + S(i)) And 255
- T = S(i)
- S(i) = S(j)
- S(j) = T
-
- T = (S(i) + S(j)) And 255
-
- oStringBuilder.Append(Chr(Asc(Param.Substring(C, 1)) Xor S(T)))
- Next C
- Return oStringBuilder.ToString
- End Function
-
- Public Overloads Function DecryptFile(ByVal FilePath As String) As String
-
- Dim oFileInfo As New FileInfo(FilePath)
-
- If oFileInfo.Exists Then
- Dim oFileStream As New FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
- Dim oFileReader As New StreamReader(oFileStream, System.Text.Encoding.Default)
-
- If oFileStream.CanRead Then
- Dim FileContent As String = oFileReader.ReadToEnd
- Dim FileLen As Int32 = FileContent.Length
- Dim C As Integer
- Dim T As Integer
- Dim i As Integer
- Dim j As Integer
-
- Dim oStringBuilder As New StringBuilder
-
- CreateKeyArray()
-
- For C = 0 To FileLen - 1
- i = (i + 1) And 255
- j = (j + S(i)) And 255
- T = S(i)
- S(i) = S(j)
- S(j) = T
-
- T = (S(i) + S(j)) And 255
-
- oStringBuilder.Append(Chr(Asc(FileContent.Substring(C, 1)) Xor S(T)))
- Next C
- Return oStringBuilder.ToString
- Else
- Throw New Exception("Impossible de lire le fichier " & FilePath)
- End If
- Else
- Throw New Exception("Impossible de trouver le fichier " & FilePath)
- End If
- End Function
-
- Public Overloads Function DecryptFile(ByVal FilePath As String, ByVal OutPutFile As String) As Long
-
- Dim oFileInfo As New FileInfo(FilePath)
-
- If oFileInfo.Exists Then
- Dim oFileStream As New FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
- Dim oFileReader As New StreamReader(oFileStream, System.Text.Encoding.Default)
-
- If oFileStream.CanRead Then
- Dim FileContent As String = oFileReader.ReadToEnd
- Dim FileLen As Int32 = FileContent.Length
- Dim C As Integer
- Dim T As Integer
- Dim i As Integer
- Dim j As Integer
-
- Dim oStringBuilder As New StringBuilder
-
- CreateKeyArray()
-
- For C = 0 To FileLen - 1
- i = (i + 1) And 255
- j = (j + S(i)) And 255
- T = S(i)
- S(i) = S(j)
- S(j) = T
-
- T = (S(i) + S(j)) And 255
-
- oStringBuilder.Append(Chr(Asc(FileContent.Substring(C, 1)) Xor S(T)))
- Next C
-
- Dim oWriteStream As New FileStream(OutPutFile, FileMode.Create, FileAccess.Write, FileShare.None)
- Dim oFileWriter As New StreamWriter(oWriteStream, System.Text.Encoding.Default)
-
- Try
- oFileWriter.Write(oStringBuilder.ToString)
- Catch err As Exception
- Throw New Exception("Impossible d'écrire le fichier de sortie " & OutPutFile)
- End Try
- oFileWriter.Close()
- Return 0
- Else
- Throw New Exception("Impossible de lire le fichier " & FilePath)
- End If
- Else
- Throw New Exception("Impossible de trouver le fichier " & FilePath)
- End If
- End Function
-
- Private Sub CreateKeyArray()
- Dim KeyLen As Integer
- Dim T As Integer
- Dim i As Integer = 0
- Dim j As Integer = 0
- Dim lItem As Integer
-
- If Key.Trim.Length > 0 Then
-
- KeyLen = cls_Key.Length
-
- For i = 0 To 255
- S(i) = i
- Next i
-
- For i = 0 To 255
- j = (j + S(i) + Asc(cls_Key.Substring(i Mod KeyLen, 1)) And 255)
- T = S(i)
- S(i) = S(j)
- S(j) = T
- Next i
- i = 0
- j = 0
- Else
- Throw New System.ArgumentException("La clef est vide")
- End If
-
- End Sub
-
- Public Overloads Function GenerateKey() As String
- Dim keyBuffer As New StringBuilder
- Dim KeyLen As Short = 255
- Dim i As Integer
-
- Randomize(Now.Millisecond)
-
-
- Do Until i >= KeyLen
- keyBuffer.Append(Chr(CInt(255 * Rnd())))
- i += 1
- Loop
-
- Me.Key = keyBuffer.ToString
- Return keyBuffer.ToString
-
- End Function
-
- Public Overloads Function GenerateKey(ByVal KeyLen As Integer) As String
- Dim keyBuffer As New StringBuilder
- Dim i As Integer
-
- Randomize(Now.Millisecond)
-
- Do Until i >= KeyLen
- keyBuffer.Append(Chr(CInt(255 * Rnd())))
- i += 1
- Loop
-
- Me.Key = keyBuffer.ToString
- Return keyBuffer.ToString
-
- End Function
-
- Public Overloads Function GenerateKey(ByVal KeyLen As Integer, ByVal Readable As Boolean) As String
- Dim keyBuffer As New StringBuilder
- Dim AvailableChar As String = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
- Dim lenAvailableChar As Integer = AvailableChar.Length - 1
- Dim i As Integer
-
- Randomize(Now.Millisecond)
-
- If Readable = True Then
- Do Until i >= KeyLen
- keyBuffer.Append(AvailableChar.Substring(CType(lenAvailableChar * Rnd(), Integer), 1))
- i += 1
- Loop
- Else
- Do Until i >= KeyLen
- keyBuffer.Append(Chr(CInt(255 * Rnd())))
- i += 1
- Loop
- End If
- Me.Key = keyBuffer.ToString
- Return keyBuffer.ToString
-
- End Function
-
- Public Overloads Function GenerateKey(ByVal KeyLen As Integer, ByVal AvailableChar As String) As String
- Dim keyBuffer As New StringBuilder
- Dim lenAvailableChar As Integer = AvailableChar.Length - 1
- Dim i As Integer
-
- Randomize(Now.Millisecond)
-
- Do Until i >= KeyLen
- keyBuffer.Append(AvailableChar.Substring(CType(lenAvailableChar * Rnd(), Integer), 1))
- i += 1
- Loop
-
- Me.Key = keyBuffer.ToString
- Return keyBuffer.ToString
-
- End Function
-
- End Class
Option Explicit On
Imports System.IO
Imports System.Text
Public Class RC4
'/*******************************************/
'/* Mise à jour v_1.0.1
'Classe de cryptage réécrite pour VB .NET à partir du code de
'lolo32 (http://www.vbfrance.com/article.aspx?Val=5278)
' Pour toute question dcampillo@gmail.com
#Region "Const"
Private _version As String = "1.0.1"
#End Region
#Region "Private var"
Private S(255) As Integer
Private cls_Key As String
#End Region
#Region "Property"
Public Property Key() As String
Get
Return cls_Key
End Get
Set(ByVal Key As String)
cls_Key = Key
End Set
End Property
Public ReadOnly Property Version() As String
Get
Return _version
End Get
End Property
#End Region
Public Sub New()
End Sub
Public Sub New(ByVal Key As String)
Me.Key = Key
End Sub
Public Function Crypt(ByVal Param As String) As String
Dim ParamLen As Integer = Param.Length
Dim C As Integer
Dim T As Integer
Dim i As Integer
Dim j As Integer
Dim oStringBuilder As New StringBuilder
CreateKeyArray()
For C = 0 To ParamLen - 1
i = (i + 1) And 255
j = (j + S(i)) And 255
T = S(i)
S(i) = S(j)
S(j) = T
T = (S(i) + S(j)) And 255
oStringBuilder.Append(Chr(Asc(Param.Substring(C, 1)) Xor S(T)))
Next C
Return oStringBuilder.ToString
End Function
Public Overloads Function CryptFile(ByVal FilePath As String) As String
Dim oFileInfo As New FileInfo(FilePath)
If oFileInfo.Exists Then
Dim oFileStream As New FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
Dim oFileReader As New StreamReader(oFileStream, System.Text.Encoding.Default)
If oFileStream.CanRead Then
Dim FileContent As String = oFileReader.ReadToEnd
Dim FileLen As Int32 = FileContent.Length
Dim C As Integer
Dim T As Integer
Dim i As Integer
Dim j As Integer
Dim oStringBuilder As New StringBuilder
CreateKeyArray()
For C = 0 To FileLen - 1
i = (i + 1) And 255
j = (j + S(i)) And 255
T = S(i)
S(i) = S(j)
S(j) = T
T = (S(i) + S(j)) And 255
oStringBuilder.Append(Chr(Asc(FileContent.Substring(C, 1)) Xor S(T)))
Next C
Return oStringBuilder.ToString
Else
Throw New Exception("Impossible de lire le fichier " & FilePath)
End If
Else
Throw New Exception("Impossible de trouver le fichier " & FilePath)
End If
End Function
Public Overloads Function CryptFile(ByVal FilePath As String, ByVal OutPutFile As String) As Long
Dim oFileInfo As New FileInfo(FilePath)
If oFileInfo.Exists Then
Dim oFileStream As New FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
Dim oFileReader As New StreamReader(oFileStream, System.Text.Encoding.Default)
If oFileStream.CanRead Then
Dim FileContent As String = oFileReader.ReadToEnd
oFileStream.Close()
oFileReader.Close()
Dim ParamLen As Int32 = FileContent.Length
Dim C As Integer
Dim T As Integer
Dim i As Integer
Dim j As Integer
Dim oStringBuilder As New StringBuilder
CreateKeyArray()
For C = 0 To ParamLen - 1
i = (i + 1) And 255
j = (j + S(i)) And 255
T = S(i)
S(i) = S(j)
S(j) = T
T = (S(i) + S(j)) And 255
oStringBuilder.Append(Chr(Asc(FileContent.Substring(C, 1)) Xor S(T)))
Next C
Dim oWriteStream As New FileStream(OutPutFile, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)
Dim oFileWriter As New StreamWriter(oWriteStream, System.Text.Encoding.Default)
Try
oFileWriter.Write(oStringBuilder.ToString)
Catch err As Exception
Throw New Exception("Impossible d'écrire le fichier de sortie " & OutPutFile)
End Try
oFileWriter.Close()
Return 0
Else
Throw New Exception("Impossible de lire le fichier " & FilePath)
End If
Else
Throw New Exception("Impossible de trouver le fichier " & FilePath)
End If
End Function
Public Function Decrypt(ByVal Param As String) As String
Dim ParamLen As Integer = Len(Param)
Dim C As Integer
Dim T As Integer
Dim i As Integer
Dim j As Integer
Dim oStringBuilder As New StringBuilder
CreateKeyArray()
For C = 0 To ParamLen - 1
i = (i + 1) And 255
j = (j + S(i)) And 255
T = S(i)
S(i) = S(j)
S(j) = T
T = (S(i) + S(j)) And 255
oStringBuilder.Append(Chr(Asc(Param.Substring(C, 1)) Xor S(T)))
Next C
Return oStringBuilder.ToString
End Function
Public Overloads Function DecryptFile(ByVal FilePath As String) As String
Dim oFileInfo As New FileInfo(FilePath)
If oFileInfo.Exists Then
Dim oFileStream As New FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
Dim oFileReader As New StreamReader(oFileStream, System.Text.Encoding.Default)
If oFileStream.CanRead Then
Dim FileContent As String = oFileReader.ReadToEnd
Dim FileLen As Int32 = FileContent.Length
Dim C As Integer
Dim T As Integer
Dim i As Integer
Dim j As Integer
Dim oStringBuilder As New StringBuilder
CreateKeyArray()
For C = 0 To FileLen - 1
i = (i + 1) And 255
j = (j + S(i)) And 255
T = S(i)
S(i) = S(j)
S(j) = T
T = (S(i) + S(j)) And 255
oStringBuilder.Append(Chr(Asc(FileContent.Substring(C, 1)) Xor S(T)))
Next C
Return oStringBuilder.ToString
Else
Throw New Exception("Impossible de lire le fichier " & FilePath)
End If
Else
Throw New Exception("Impossible de trouver le fichier " & FilePath)
End If
End Function
Public Overloads Function DecryptFile(ByVal FilePath As String, ByVal OutPutFile As String) As Long
Dim oFileInfo As New FileInfo(FilePath)
If oFileInfo.Exists Then
Dim oFileStream As New FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
Dim oFileReader As New StreamReader(oFileStream, System.Text.Encoding.Default)
If oFileStream.CanRead Then
Dim FileContent As String = oFileReader.ReadToEnd
Dim FileLen As Int32 = FileContent.Length
Dim C As Integer
Dim T As Integer
Dim i As Integer
Dim j As Integer
Dim oStringBuilder As New StringBuilder
CreateKeyArray()
For C = 0 To FileLen - 1
i = (i + 1) And 255
j = (j + S(i)) And 255
T = S(i)
S(i) = S(j)
S(j) = T
T = (S(i) + S(j)) And 255
oStringBuilder.Append(Chr(Asc(FileContent.Substring(C, 1)) Xor S(T)))
Next C
Dim oWriteStream As New FileStream(OutPutFile, FileMode.Create, FileAccess.Write, FileShare.None)
Dim oFileWriter As New StreamWriter(oWriteStream, System.Text.Encoding.Default)
Try
oFileWriter.Write(oStringBuilder.ToString)
Catch err As Exception
Throw New Exception("Impossible d'écrire le fichier de sortie " & OutPutFile)
End Try
oFileWriter.Close()
Return 0
Else
Throw New Exception("Impossible de lire le fichier " & FilePath)
End If
Else
Throw New Exception("Impossible de trouver le fichier " & FilePath)
End If
End Function
Private Sub CreateKeyArray()
Dim KeyLen As Integer
Dim T As Integer
Dim i As Integer = 0
Dim j As Integer = 0
Dim lItem As Integer
If Key.Trim.Length > 0 Then
KeyLen = cls_Key.Length
For i = 0 To 255
S(i) = i
Next i
For i = 0 To 255
j = (j + S(i) + Asc(cls_Key.Substring(i Mod KeyLen, 1)) And 255)
T = S(i)
S(i) = S(j)
S(j) = T
Next i
i = 0
j = 0
Else
Throw New System.ArgumentException("La clef est vide")
End If
End Sub
Public Overloads Function GenerateKey() As String
Dim keyBuffer As New StringBuilder
Dim KeyLen As Short = 255
Dim i As Integer
Randomize(Now.Millisecond)
Do Until i >= KeyLen
keyBuffer.Append(Chr(CInt(255 * Rnd())))
i += 1
Loop
Me.Key = keyBuffer.ToString
Return keyBuffer.ToString
End Function
Public Overloads Function GenerateKey(ByVal KeyLen As Integer) As String
Dim keyBuffer As New StringBuilder
Dim i As Integer
Randomize(Now.Millisecond)
Do Until i >= KeyLen
keyBuffer.Append(Chr(CInt(255 * Rnd())))
i += 1
Loop
Me.Key = keyBuffer.ToString
Return keyBuffer.ToString
End Function
Public Overloads Function GenerateKey(ByVal KeyLen As Integer, ByVal Readable As Boolean) As String
Dim keyBuffer As New StringBuilder
Dim AvailableChar As String = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim lenAvailableChar As Integer = AvailableChar.Length - 1
Dim i As Integer
Randomize(Now.Millisecond)
If Readable = True Then
Do Until i >= KeyLen
keyBuffer.Append(AvailableChar.Substring(CType(lenAvailableChar * Rnd(), Integer), 1))
i += 1
Loop
Else
Do Until i >= KeyLen
keyBuffer.Append(Chr(CInt(255 * Rnd())))
i += 1
Loop
End If
Me.Key = keyBuffer.ToString
Return keyBuffer.ToString
End Function
Public Overloads Function GenerateKey(ByVal KeyLen As Integer, ByVal AvailableChar As String) As String
Dim keyBuffer As New StringBuilder
Dim lenAvailableChar As Integer = AvailableChar.Length - 1
Dim i As Integer
Randomize(Now.Millisecond)
Do Until i >= KeyLen
keyBuffer.Append(AvailableChar.Substring(CType(lenAvailableChar * Rnd(), Integer), 1))
i += 1
Loop
Me.Key = keyBuffer.ToString
Return keyBuffer.ToString
End Function
End Class
Historique
- 19 juillet 2005 22:54:59 :
- Mise à jour version 1.0.1
--------------------------
- Modification du code de la sub CreateKeyArray()
- Utilisation des Integer en place des long => Les longs de VB6 sont devenu les integer de .NET ;-)
- Modification du code en enlevant toutes les convertions Integer -> Long ou Long -> Integer (le cryptage doit être un poil plus rapide ) ;-)
- Ajout d'une propriété Version de type string qui retourne la version de la classe
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet 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
Forum
LISTER KEYS.KEYLISTER KEYS.KEY par Onin42
Cliquez pour lire la suite par Onin42
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.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 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
|