All pastes #813326 Raw Edit

Mine

public c v1 · immutable
·published 2007-12-12 13:28 UTC
rendered paste body
#include <stdio.h>#include <stdlib.h>#include <string.h>#define ENCODE_STARTCHAR 32#define ENCODE_ENDCHAR	 126int encode(const char *key, const char *text, char *out, size_t outbuflen){  int i;  i = 0;    int key_size = strlen(key);    while(text[i] && i < outbuflen)    {      out[i] = ((text[i] - ENCODE_STARTCHAR) + (key[i%key_size] - ENCODE_STARTCHAR)) % (ENCODE_ENDCHAR - ENCODE_STARTCHAR + 1) + ENCODE_STARTCHAR;      printf("%c + %c -> %c\n", text[i], key[i%key_size], out[i]);      i++;    }  if (i < outbuflen)    out[i] = '\0';  return 0;}int decode(const char *key, const char *text, char *out, size_t outbuflen){  int i;  i = 0;    int key_size = strlen(key);    while(text[i] && i < outbuflen)    {      out[i] = (((text[i] - ENCODE_STARTCHAR) - (key[i%key_size] - ENCODE_STARTCHAR)) +		ENCODE_ENDCHAR - ENCODE_STARTCHAR + 1) % (ENCODE_ENDCHAR - ENCODE_STARTCHAR + 1) + ENCODE_STARTCHAR;      printf("%c + %c -> %c\n", text[i], key[i%key_size], out[i]);      i++;    }  if (i < outbuflen)    out[i] = '\0';  return 0;}int main(){  char merong[100];  char merong2[100];  printf("plain text: %s\n", "Meet me in St. Louis");  encode("Walrus", "Meet me in St. Louis", merong, 100);  printf("encoded: %s\n", merong);  decode("Walrus", merong, merong2, 100);  printf("decoded: %s\n", merong2);  return 0;}