Java:
	
	package com.crypt;
import java.util.Random;
public class Crypt3 {
private String unencrypted;
private int length;
private StringBuilder randomKey;
private Random rnd = new Random();
public String encrypt(String unencrypted){
  this.unencrypted = unencrypted;
  this.length = unencrypted.length();
  getRandomKey(this.length);
  char[] unencryptedAsCharArray = this.unencrypted.toCharArray();
  for (int i=0; i<this.length; i++){
     unencryptedAsCharArray[i]+=randomKey.charAt(i);
  }
  return String.valueOf(unencryptedAsCharArray);
}
public StringBuilder getRandomKey(int length){
randomKey = new StringBuilder(this.length);
for (int i=0; i<length; i++){
  randomKey.append(rnd.nextInt(10));
  }
  return randomKey;
}
//decrypt
public String decrypt(String encrypted, String key){
char[] encryptedAsCharArray = new char[encrypted.length()];
encryptedAsCharArray = encrypted.toCharArray();
for (int i=0; i<encrypted.length(); i++){
  encryptedAsCharArray[i]-=key.charAt(i);
}
return String.valueOf(encryptedAsCharArray);
}
public StringBuilder getKey(){
  return randomKey;
}
} 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		