如何防止非法调用充值系统api

本人最近在做一个充值系统,调用第三方充值api,其中有个加密签名调用api,比如
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.yanek.util.MD5"%>
<%
String uid=request.getParameter("uid");
String mcheck=request.getParameter("mcheck");
String commonkey="javaboy2012";
MD5 md5=new MD5();
if (md5.getMD5ofStr(uid+commonkey).equals(mcheck))
{
   out.print("成功调用,返回合法数据:!"+uid+"的数据");
}
else
{
 out.print("非法调用");
}
%>
这样有个签名认证,去调用充值接口,如果别人黑了服务器,查看了我这些加密规则代码,就可以无限调用我的充值接口了,怎么做好防范呢?

要带上用户验证的信息,如果这个用户合法就允许

带一个APIKEY,如果安全性要求更高,可以在带一个随机字符串(有规则),然后你进行判断,可以使用SSL进行加密传输。