Bonjour à toutes et à tous,

Pour bien planter le tableau, je commence par le fait que je ne connais pas grand chose au VBScript et que je suis plus à l'aise dans le monde C++.

Pour un besoin ponctuel (export de données d'une base SQLServer vers une base PostGres, avec quelques modifications apportées aux données au passage), on me demande de développer un module VBScript réalisant cette opération (exigence client).

L'une des données concernées est un mot de passe qui est crypté et stockée sous SQLServer dans un champ de type varbinary(15).
Ce mot de passe doit être décrypté dans le module VBScript pour être stocké en clair dans la base PostGres (rassurez-vous, ce n'est que temporaire, l'identification des utilisateurs se fera par un autre biais).

Dans notre application C++, nous avons un module qui se charge de ça.
Je dois donc le transférer dans le module VBScript pour y décrypter les mots de passe.

Mais je n'arrive pas à adapter mon code!

Voici le code C++ en question :
Code c++ : 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
void CProfil::TransformerPwd(LPSTR pPwd)
{
	// Cette méthode transforme un mot de passe en effectuant un OU EXCLUSIF
	// avec une "clé magique".
	// L'opération est réversible puisque le mot de passe transformé peut être
	// rétabli en clair par un 2ème appel de la méthode.
	// Attention ! la méthode modifie DIRECTEMENT la donnée située à l'adresse pPwd;
	// donc utiliser un buffer dans la méthode appelante et non une CString.
 
	// La clé de codage des mots de passe. NE DOIT PAS ETRE MODIFIEE.
	static char BASED_CODE CleMagique[] = "$:;[9-*|#]=%/?.";	// 15 cars
 
	int Lg = strlen(pPwd);
 
	LPCSTR pCle = CleMagique;
 
	for (int i = 0; i < Lg; i++)
	{
		*pPwd ^= *pCle;		// OU EXCLUSIF entre mot de passe et "clé magique"
		pCle++;
		pPwd++;
	}
}

Quelqu'un peut-il m'aider à adapter ce code en VBScript (j'ai bien sûr modifié la clé de codage)?

D'avance, merci!