Souci de conversion String -> Byte[]

Signaler
Messages postés
5
Date d'inscription
lundi 29 décembre 2003
Statut
Membre
Dernière intervention
20 septembre 2006
-
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008
-
Bonjour,

Voila mon probleme, pour un soucie d'encription je stoque dans une base de donnée ( de type MSSQL 2005 ) un champ numerique ( ce champ et encoder en Byte puis convertie en String ) mais lorsque je recupere c'ette chaine de ma base de donnée ( donc une String ) et que je la convertie en Byte[] C# me repond ( quand je souhaite l'utiliser pour la decripter ) :

Array cannot be null.
Parameter name: bytes
  at
System.Text.Encoding.GetString(Byte[] bytes)
  at
CryptoServices.DESCryptoService.DecryptToString(Byte[] sourceBytes) in c:\dotNet
Projects\dpDev\manager\App_Code\DESCryptoService.cs:line 118
  at
CardManager.unCrypte(String dataC) in c:\dotNet
Projects\dpDev\manager\App_Code\CardManager.cs:line 179
  at
viewOrder.initTranslation() in c:\dotNet
Projects\dpDev\manager\viewOrder.aspx.cs:line 102
  at
viewOrder.Page_Load(Object sender, EventArgs e) in c:\dotNet
Projects\dpDev\manager\viewOrder.aspx.cs:line 29
  at
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object
t, EventArgs e)
  at
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs
e)
  at System.Web.UI.Control.OnLoad(EventArgs e)
  at
System.Web.UI.Control.LoadRecursive()
  at
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,
Boolean includeStagesAfterAsyncPoint)

Hors si jamais je passe ma string en Byte[] puis se Byte[] en string j'obtien un resultat ( en gros String1 -> Byte[] -> String2 on obtien bien String1 == String2 )

La methode d'encription utiliser est : DES
Ma clef d'encodage ainci que ma clef Vectorielle ( stocké et modifier comme mon champ de donnée ) passe eu sans probleme.

Sauvé moi je suis en train de devenire fou ....

Cordialement.

3 réponses

Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
a priori et au vu du message, je dirais que ton tableau d'octets nest pas isntancié...
tu dois faire un truc du style
byte[] bytes = new bytes[longueur];
Messages postés
5
Date d'inscription
lundi 29 décembre 2003
Statut
Membre
Dernière intervention
20 septembre 2006

helas pour moi mon tableaux d'octets a été instancié de c'ette maniere apres c'est peut etre un souci de taille

Byte[] data = new Byte[255];

Cordialement.
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

Et comment tu fais ta conversion String-> Byte ?
Et a quoi ressemble ta String au moment de la conversion ?