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.

Project Samples

Project Activity

See All Activity >

Categories

Email, Libraries

License

MIT License

Follow b64 -- Base64 Encode/Decode Utility

b64 -- Base64 Encode/Decode Utility Web Site

You Might Also Like
SKUDONET Open Source Load Balancer Icon
SKUDONET Open Source Load Balancer

Take advantage of Open Source Load Balancer to elevate your business security and IT infrastructure with a custom ADC Solution.

SKUDONET ADC, operates at the application layer, efficiently distributing network load and application load across multiple servers. This not only enhances the performance of your application but also ensures that your web servers can handle more traffic seamlessly.
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
8
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 4 / 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

User Reviews

  • Thank you! I finally was able to recover images from the 1990's which were saved as attachments in a Windows 98 version of Eudora -- the only version left after a series of disasters.
  • 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.
  • 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 )"
    1 user found this review helpful.
  • it's good source
    1 user found this review helpful.
  • 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;
    1 user found this review helpful.
Read more reviews >

Additional Project Details

Languages

English

Intended Audience

Advanced End Users, Developers, Security Professionals

Programming Language

C

Related Categories

C Email Software, C Libraries

Registered

2001-08-05