У меня тоже не получается правильно вычислить сигнатуру, я новичок в апи вконтакта. Для метода getProfiles вычисляю так:

Код AS1/AS2:
var sig=MD5.hash("мой_айдиapi_id=ади_приложенияmethod=getProfilesv=2.0секрет");
var request:URLRequest = new URLRequest("http://api.vkontakte.ru/api.php?api_id=айди_приложения&v=2.0&method=getProfiles&uids=мой_айди&sig="+sig);
var loader:URLLoader = new URLLoader();
loader.load(request);
loader.addEventListener(Event.COMPLETE, onComplete);
//и так далее
в результате получаю что-то такое:

Код:
<?xml version="1.0" encoding="utf-8"?>
<error>
<error_code>4</error_code>
<error_msg>Incorrect signature</error_msg>
<request_params list="true">
<param>
<key>api_id</key>
<value>айди_приложения</value>
</param>
<param>
<key>v</key>
<value>2.0</value>
</param>
<param>
<key>method</key>
<value>getProfiles</value>
</param>
<param>
<key>uids</key>
<value>мой_айди</value>
</param>
<param>
<key>sig</key>
<value>5a3cf0ab0ee7b70ce56eeadaf9b89645</value>
</param>
</request_params>
</error>
секрет беру со страницы редактирования, а не платежей.
если поменять api.vkontakte.ru/api.php на api.vk.com/api.php, то вообще выдаёт ошибку 5 (ошибка авторизации).
вроде всё по их документации. что я делаю неправильно?
