b64 -- Base64 Encode/Decode Utility Icon

b64 -- Base64 Encode/Decode Utility

4.4 Stars (10)
242 Downloads (This Week)
Last Update:
Download b64.0.94.zip
Browse All Files
Windows Mac Linux

Screenshots

Description

base64 RFC1113 Vanilla ANSI-C Code for a portable stand-alone file encode/decode utility. In 2001, I asked people to 'Help me break it!' Since then, 10+years later, the code remains unbroken and is in wide production use world-wide. It has been ported to all major architectures and been used as a template for ports to different computer and human languages. This is very mature and stable code.

Although this comes from a project that was constrained by export controls and is used in secure systems, it is not security code per-se. I have therefore altered the 'Export Controls' category.

b64 -- Base64 Encode/Decode Utility Web Site

Categories

Email, Libraries

License

MIT License

KEEP ME UPDATED

User Ratings

★★★★★
★★★★
★★★
★★
7
2
0
0
1
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 2 / 5
Write a Review

User Reviews

  • 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    simple, straightforward, no bells & whistles to break. I've built & used this on Windows (both cmd.exe & cygwin,) 2 flavors of linux, and OS X. I just compiled v0.94R on OS X El Cap with g++ 7.3.0. Only issue noted: 7 x "warning: conversion from string literal to 'char *' is deprecated". You could do much worse.

    Posted 04/04/2016
  • 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    works great only a minor bug if out[i] contains 0x00 it will not write to outfile and fail. In order to fix this, change "if( putc( (int)(out[i]), outfile ) == 0 )" to "if( putc( (int)(out[i]), outfile ) == EOF )"

    Posted 06/27/2015
  • 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    it's good source

    Posted 01/24/2015
  • 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    I had to apply some changes to work on Linux and Windows: The '-' and '+' means line removed and line included. 1. change for unix files. if( blocksout > 0 ) { - fprintf( outfile, "\r\n" ); + fprintf( outfile, "\n" ); } 2. change v = getc( infile ); - if( v != EOF ) { + if( feof( infile ) == 0) { v = ((v < 43 || v > 122) ? 0 : (int) cd64[ v - 43 ]); 3. change in the break position perror( b64_message( B64_FILE_IO_ERROR ) ); retcode = B64_FILE_IO_ERROR; + break; } - break;

    Posted 08/07/2014
  • 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    Ran into problems with decodes as others have mentioned. Appears the author tried to fix a minor bug recently (2014) and introduced a new one. In the decode() function, change: if( putc((int)out[i]) !=0){ if( ferror(outfile)!=0) { ...} break; } to if( putc((int)out[i]) !=0){ if( ferror(outfile)!=0) { ... ; break; } } then it works fine. I was able to use it to verify a bug in yet another base64 decoder that was corrupting science data.

    Posted 05/09/2014
Read more reviews

Additional Project Details

Languages

English

Intended Audience

Advanced End Users, Developers, Security Professionals

Programming Language

C

Registered

2001-08-05

Thanks for helping keep SourceForge clean.

Screenshot instructions:
Windows
Mac
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies
X

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks
Screenshots can attract more users to your project.
Features can attract more users to your project.