1  /**
     2   * com.sekati.crypt.ROT13
     3   * @version 1.0.1
     4   * @author jason m horwitz | sekati.com
     5   * Copyright (C) 2007  jason m horwitz, Sekat LLC. All Rights Reserved.
     6   * Released under the MIT License: http://www.opensource.org/licenses/mit-license.php
     7   * 
     8   * Sourced from ascrypt for dependencies only - version 2.0, author Mika Pamu
     9   */
    10  
    11  import com.sekati.crypt.ICipher;
    12  
    13  /**
    14   * Encodes and decodes a ROT13 string.
    15   */
    16  class com.sekati.crypt.ROT13 implements ICipher {
    17  
    18  	private static var chars:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMabcdefghijklmnopqrstuvwxyzabcdefghijklm";
    19  
    20  	/**
    21  	 * Encodes or decodes a ROT13 string.
    22  	 * @param src (String)
    23  	 * @return String
    24  	 */
    25  	public static function calculate(src:String):String {
    26  		var calculated:String = new String( "" );
    27  		for (var i:Number = 0; i < src.length ; i++) {
    28  			var character:String = src.charAt( i );
    29  			var pos:Number = chars.indexOf( character );
    30  			if (pos > -1) character = chars.charAt( pos + 13 );
    31  			calculated += character;
    32  		}
    33  		return calculated;
    34  	}
    35  
    36  	private function ROT13() {
    37  	}
    38  }