As Andrey has said the output from encryption is binary and so can be any character (prinatable and non-printable). Therefore you are going to have to do some kind of encoding of the output to force it to be printable....this is going to increase the length no matter what.
What is the allowed set of characters for the input? The only solution I can think of for you, if the output *has* to be 24 bytes, is to compress the input prior to encryption. For example, if each character from the input can be represented within 6 bits, then you could envisage a fairly simple compression routine to compress the input from 24 bytes to 18. 18 bytes of input text would encrypt to 18 bytes of output (in binary format). base64 encoding this output would result in 24 bytes of printable characters. Matt On 21 August 2012 08:45, Tarun Thakur <tarun.tha...@nechclst.in> wrote: > > Hi, > > Thanks for your reply.. > > But issue in base64 encoding is it will generate encoded test greater than > 24 bytes. Application output should generate encrypted code exactly 24 > bytes > as input. > > Thanks, > Tarun > > > > Andrey Koltsov-2 wrote: > > > > Hi Tarun. > > > > Output of every encryption function is always binary so it can contains > > ANY character. You should encode this binary string to base64 or hex > > format by yourself to pass it to your application. Do not forget to do > > reverse encoding before decrypting. > > > > > > Best regards, > > > > Andrey Koltsov > > software developer > > CyberplatSoft Ltd > > > > 21.08.2012 11:16, Tarun Thakur пишет: > >> > >> Hi All, > >> > >> Issue is encrypted code contains '\n' which is an major issue for my > >> software application. > >> > >> Given below is problem summarized. > >> > >> I have used OpenSSL library's DES_ede3_ofb64_encrypt() function to > >> perform > >> encryption byte by byte on chunk of 24 bytes. > >> > >> For example: > >> Input 24 bytes are: > >> [root@tarun]# cat input.txt > >> aaaaaaaabbbbbbbbcccccccc > >> > >> It encrypts 24 bytes successfully. > >> Generates encrypted data, for example: > >> [root@tarun]# cat code.txt > >> RÛÄSÒ > >> É#k7uÀÎCZ!°p > >> > >> Here comes problem for my software application, I want all 24 encrypted > >> bytes in sequence WITHOUT '\n'. > >> If possible in printable characters. > >> > >> Can you please help or guidance how to avoid '\n' in encrypted code? > >> Is there any range of characters I can specify to DES algorithm which > can > >> be > >> used for encrypted code generation? > >> > >> Please help I am stuck. > >> > >> Thanks. > >> Tarun > >> > > ______________________________________________________________________ > > OpenSSL Project http://www.openssl.org > > User Support Mailing List openssl-users@openssl.org > > Automated List Manager majord...@openssl.org > > > > > > -- > View this message in context: > http://old.nabble.com/OpenSSL-DES-generates-%27%5Cn%27-in-encrypted-code-tp34327804p34327911.html > Sent from the OpenSSL - User mailing list archive at Nabble.com. > > ______________________________________________________________________ > OpenSSL Project http://www.openssl.org > User Support Mailing List openssl-users@openssl.org > Automated List Manager majord...@openssl.org >