Ahh another question, sorry. With this cipher a "salt" would make almost no sense since I already need a key?�
or it make sense to put a "salt" together with the string to ecnrypt?

Thanks


On Mon, Jul 15, 2013 at 5:39 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:



Blowfish is a 8 byte block cipher so for shorter strings I'll need to pad
the byte array, and for longer strings I'll need to make it use cipher block
chaining:
(https://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29)


Ok, I imagined something like that. Thanks for the explanation.�
For my usecase, I think this is not the more critical thing since I would use a 8 character password for sure :)


If you change #decryptString:with: to:

Blowfish class>>decryptString: aString with: aKey
|decryptedData |
decryptedData := (self new ecbDecrypt: aString asByteArray with: aKey
asByteArray �).
� � � � ^String fromByteArray: �decryptedData asByteArray .

Then this workspace code should work:

| enc encryptedString dkey decrString |
key:='mySecretKey'.
enc:=Blowfish encryptString:'12345678' with: key.
encryptedString := enc asByteArray asString.
Transcript show: ' encrypted: �', encryptedString; cr.
decrString:=Blowfish decryptString: encryptedString with: key.
Transcript show: ' decrypted: �', decrString; cr.



Thanks!! That worked. Now...there is no problem with the encoding then?
Because I would need to store/retrieve the string from a file stream...so I didn't know if I should use a TextConverter or not.

Thanks in advance,

But with the password 'test' it will always fail because I'm not yet padding
the byte array to a multiple of 8 bytes before encrypting it.



Thanks for your patience


Paul



--
View this message in context: http://forum.world.st/Pharo-dev-Recommendation-for-password-encryption-tp4698499p4698789.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.




--
Mariano
http://marianopeck.wordpress.com



--
Mariano
http://marianopeck.wordpress.com