declare class TopSinCrypto {
    /**
     * 获取数据的MD5码
     * @param iData 
     */
    md5(iData:string):string

    /**
     * 获取文件的MD5码
     * @param iFilePath 
     */
    fileMd5(iFilePath:string):string

    /**
     * 获取数据的SHA256码
     * @param iData 
     */
    sha256(iData:string):string

    /**
     * 获取文件的SHA256码
     * @param iFilePath 
     */
    fileSha256(iFilePath:string):string

    /**
     * 获取数据的SHA256_3码
     * @param iData 
     */
    sha3_256(iData:string):string

    /**
     * 获取文件的SHA256_3码
     * @param iFilePath 
     */
    fileSha3_256(iFilePath:string):string
    
    /**
     * 转为base64
     * @param iData
     */
    encodeBase64(iData:any):any

    /**
     * 反解base64
     * @param iData
     */
    decodeBase64(iData:any):any

    /**获取uuid
    */
    uuid():string

    /**
     * 加密1版
     * 
     * @param key 加密用的key
     * @param data 要加密的数据
     * @returns 返回加密后的数据
     */
    e(key:String, data:String):String

    /**
     * 解密1版
     * 
     * @param key 解密用的key
     * @param data 要解密的数据
     * @returns 返回解密后的数据
     */
    d(key:String, data:String):String

    /**
     * 加密2版
     * 
     * @param data 要加密的数据
     * @returns 返回加密后的数据
     */
    e2(data:String):String

    /**
     * 解密2版
     * 
     * @param data 要解密的数据
     * @returns 返回解密后的数据
     */
    d2(data:String):String

    /**
     * 加密3版
     * 
     * @param data 要加密的数据
     * @reutrns 返回解密后的数据
     */
    e3(data:String):String

    /**
     * 解密3版
     * 
     * @param data 要解密的数据
     * @returns 返回解密后的数据
     */
    d3(data:String):String
}

export = TopSinCrypto;
