0
pythonサーバーapiはリクエストの署名をチェックし、すべての値を取得し、ソートしてから秘密とmd5ハッシュを追加します。しかし、obj-Cでsort()関数をシミュレートする方法はわかりません。 Pythonのmake_signコードがあります:メソッドNSArrayをobj-Cでソートします。同等のpython sort(timsort)
def make_sign(api_secret, params=[]):
"""
>>> make_sign("mysecret",[1,'2','string'])
'AACF0E5427EECA3490C5642C9916785'
"""
_params = [p for p in params if p is not None]
_params.sort()
_params.insert(0, api_secret)
strs = ''.join(_params)
mds = md5(strs.encode('utf-8')).hexdigest()
return mds.upper()
私は '-sortedArray'について知っていますが、どのようにNSArrayを比較するかわからないのは、figureとcharacterとstringの両方です。 –
'-isKindOfClass:'でタイプを確認できます。すべてのデータが「NSString」型ですか?しかし、そのような場合には、自然順序は存在しないので、第2段落で説明したようにしなければなりません。これは出発点です:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/index.html#//apple_ref/occ/instm/NSString/compare:options : –