시스템을 은행 지불 시스템에 연결하려고합니다. 문제는 완전한 재앙이 아니라면 그들의 문서가 대부분 올바르지 않다는 것입니다.C# 코드를 Ruby 코드로 번역
3D 보안 시스템의 문서에서 은행은 html 양식을 작성하여 시스템에 제출하도록 요청합니다. 양식에는 데이터와 데이터의 SHA1 해시가 포함되어야합니다. 여러 번 시도했지만 은행 시스템이 항상 "Hash not correct"오류를 반환했습니다.
예제 C# 코드를 검사 한 후 해시 결과를 얻는 데 사용한 함수를 발견했습니다. 문제는 함수가 데이터를 해싱하기보다는 데이터에 다른 작업을하는 것입니다. 그리고 더 큰 문제는 해쉬 된 문자열에이 코드가 무엇을 하는지를 알 수 없다는 것입니다. 나는 대부분의 시간 루비 개발자입니다 (
public static string CreateHash(string notHashedStr)
{
SHA1 sha1 = new SHA1CryptoServiceProvider();
byte[] notHashedBytes = System.Text.Encoding.ASCII.GetBytes(notHashedStr);
byte[] hashedByte = sha1.ComputeHash(notHashedBytes);
string hashedStr = System.Convert.ToBase64String(hashedByte);
return hashedStr;
}
나는 닷넷 프레임 워크에 거의 경험이 나는 맥 오전 또한, 그래서 쉽게 코드를 테스트 할 수 없으며, MSDN 나를 위해 확실히이다 나는 C를 충분히 안다.) 누구나이 함수가 해시 할 문자열에 어떤 역할을하는지 설명 할 수 있다면 매우 기쁠 것입니다.
Eek !! 너 무슨 소리하는거야? ;-) (off-topic에 대해 유감스럽게 생각합니다) – Jeroen
해싱이 [OAuth] (http://oauth.net/core/1.0/) –