Souci de conversion String -> Byte[]

cs_azull Messages postés 5 Date d'inscription lundi 29 décembre 2003 Statut Membre Dernière intervention 20 septembre 2006 - 19 sept. 2006 à 17:34
Liverion Messages postés 296 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 18 août 2008 - 25 avril 2008 à 12:40
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

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
20 sept. 2006 à 09:11
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];
0
cs_azull Messages postés 5 Date d'inscription lundi 29 décembre 2003 Statut Membre Dernière intervention 20 septembre 2006
20 sept. 2006 à 09:52
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.
0
Liverion Messages postés 296 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 18 août 2008
25 avril 2008 à 12:40
Et comment tu fais ta conversion String-> Byte ?
Et a quoi ressemble ta String au moment de la conversion ?
0
Rejoignez-nous