Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SQL SERVER 2005 - CRYPTER ET DÉCRYPTER DES DONNÉES PAR MOT DE PASSE


Information sur la source

Catégorie :Trucs & Astuces Classé sous : sqlserver, decrypt, encrypt, cryptage, motdepasse Niveau : Initié Date de création : 10/08/2006 Date de mise à jour : 10/08/2006 23:12:09 Vu : 4 055

Note :
Aucune note

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note


Description

Petite présentation d'une des nouvelles fonctionnalités de SQL Server 2005 au niveau du cryptage des données.

L'exemple ici repose sur EncryptByPassphrase / DecryptByPassphrase les plus simples des fonctions de cryptage décryptage de données du moteur. Il existe d'autres fonctions EncryptByXXXXX et DecryptByXXXXX plus complexes à mettre en place mais beaucoup plus sûres en terme de protection.

Cette fonctionnalité est accessible sur toutes les éditions de SQL Server 2005, Express incluse.
 

Source

  • ---------------------------
  • -- Crypte les données --
  • ---------------------------
  • -- Crée une table de test
  • IF OBJECT_ID('MaTable', 'U') IS NOT NULL
  • DROP TABLE MaTable
  • GO
  • CREATE TABLE MaTable
  • (Id int identity(1,1),
  • DonneesCachees varbinary(256))
  • GO
  • -- Le mot de passe, à changer si possible :o>
  • DECLARE @MotDePasse nvarchar(50);
  • SET @MotDePasse = N'azerty';
  • -- Insère une donnée à crypter
  • INSERT MaTable (DonneesCachees)
  • VALUES (EncryptByPassPhrase(@MotDePasse , N'1234567890', NULL))
  • GO
  • ----------------------------
  • -- Décrypte les données --
  • ----------------------------
  • -- Le mot de passe, à changer si possible :o>
  • DECLARE @MotDePasse nvarchar(50);
  • SET @MotDePasse = N'azerty';
  • -- Décrypte le champ inserer
  • SELECT Id, CONVERT(nvarchar, DecryptByPassphrase(@MotDePasse, DonneesCachees, NULL)) AS 'DonneesNonCachees' FROM MaTable
  • GO
  • -- Supprime la table
  • DROP TABLE MaTable
  • GO
---------------------------
-- Crypte les données    --
---------------------------

-- Crée une table de test
IF OBJECT_ID('MaTable', 'U') IS NOT NULL
DROP TABLE MaTable
GO

CREATE TABLE MaTable
	(Id int identity(1,1),
     DonneesCachees varbinary(256))
GO

-- Le mot de passe, à changer si possible :o>
DECLARE @MotDePasse nvarchar(50);
SET @MotDePasse = N'azerty';

-- Insère une donnée à crypter
INSERT MaTable (DonneesCachees)
VALUES (EncryptByPassPhrase(@MotDePasse , N'1234567890', NULL))
GO

----------------------------
-- Décrypte les données   --
----------------------------

-- Le mot de passe, à changer si possible :o>
DECLARE @MotDePasse nvarchar(50);
SET @MotDePasse = N'azerty';

-- Décrypte le champ inserer
SELECT Id, CONVERT(nvarchar, DecryptByPassphrase(@MotDePasse, DonneesCachees, NULL)) AS 'DonneesNonCachees' FROM MaTable
GO

-- Supprime la table
DROP TABLE MaTable
GO

Conclusion

Pensez à garder les N devant les chaînes de caractères, elles indiquent que la chaîne est unicode, et si vous l'omettez surtout pour le Encrypt vous aurez un problème de décryptage.

Bonne initiation à la Cryptographie sous SQL Server 2005.
 

Historique

10 août 2006 23:12:09 :
Petites corrections

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

création d'une automatique d'une base de données SQLServer [ par MokhTelnet ] bonjourj'ai besoin de savoir comment on peut créer une base de données SQLServer lors de l'installation d'une application.mon client ne veux se charge Commande DOS pour SQLServer 7 [ par MokhTelnet ] y a t'il une commande dos pour SQLSERVER 7 ?(comme la commande sqlplus pour oracle) création automatique d'une base de données SQLServer [ par MokhTelnet ] bonjour j'ai besoin de savoir comment on peut créer une base de données SQLServer lors de l'installation d'une application. mon client ne veux se char Problème SQLSERVER/php [ par LeJulius ] Je travaille actuellement sous SQL SERVER 2000 en lien avec du PHP 4.2.0 Mon problème est le suivant :Mes tables sql contiennent des caractères accent Sauvegarde automatique sqlserver 2000 [ par jojos89 ] Salut a tous,J'ai une base de données en local sur mon pc (avec sqlserver 2000)que je voudrais sauvegardé automatique (tous les soir) s aide pour SQLSERVER [ par nagrom_om ] salut,quelqu'un sait il comment peut on avoir un listing des requetes qui sont passées sous SQL Server ??Merci ! ms access - sqlserver - procédurestockée [ par metasky ] bonjour,je suis actuellement sur une appli liant access et sqlserver...quand je consulte mes procédures stockées dans mon projet access les Quel outil pour SqlServer [ par padurand ] Mon site tourne avec une base de donnees Access, et des pages ASP.Je voudrais remplacer Access par SqlServer ... a priori il ne devrait pas y avoir de Cryptage [ par abdoo05 ] salut;) je travaille avec Oracle DataBase 9i et je veux crypter un champ de ma table.. c'est a dire je veux crypter le champ mot de passe qui contien exporter des donnees de sqlserver 2005 vers access (dts) [ par tenrod ] Salut a tous ,Voila je travail avec une base sql server 2005 et je voudrais exporter le résultat d'une requete (a partir de ma base sql server) d


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.