Bonjour à tous,

j'ai encrypté certaines colonnes de certaines tables de ma base de données. Jusque là tout va bien.

J'ai du faire une sauvegarde de la BDD pour l'installer sur un autre serveur. Et là, impossible de lire les données encryptées : An error occurred during decryption.

Pour encrypter j'ai utilisé ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
--Create a master symetric key
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MyPwd123' 
 
-- Create asymétric to secure the symetric key
CREATE ASYMMETRIC KEY AKey WITH ALGORITHM = RSA_2048 ; 
GO
 
-- Create our key with symetric key
CREATE SYMMETRIC KEY SKey
WITH ALGORITHM = DES ENCRYPTION BY ASYMMETRIC KEY AKey ; 
 
--Encryption
OPEN SYMMETRIC KEY SKey DECRYPTION BY ASYMMETRIC KEY AKey ;
UPDATE table1
SET  nom_Encr = ENCRYPTBYKEY(KEY_GUID('SKey'), [nom]),
	prenom_Encr = ENCRYPTBYKEY(KEY_GUID('SKey'), [prenom])
CLOSE SYMMETRIC KEY SKey ;
 
 
--Decryption
select CONVERT(NVARCHAR(4000), DecryptByKeyAutoAsymKey(AsymKey_ID('AKey'), NULL, nom_Encr)) AS 'nom'  
from table1
Sur le meme serveur tout fontionne tres bien

Sur le nouveau serveur où j'ai remonté la sauvegarde de la BDD

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
 
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'MyPwd123'
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'MyPwd123'
Maintenant j'obtiens l'erreur : An error occurred during decryption.


Que dois je faire ?

Merci pour vos conseils