2017-10-23 6 views
-4

まず、私はプログラマではなくアーティストになりたい。私はプログラミングもアートだと知っていますが、私のようなアートはありません。だから、私の運動であなたの時間を無駄にして申し訳ありませんが、私は最後のものを解決することはできません、ルビーコードでなければなりません。ここデータ値に署名するためのrubycodeが動作しない

は何をするかです:
私は=「のMyTest」
データ変数のデータを持っている私は内鍵でデータ内のデータに署名しなければならない重要な変数KEY =「secr3t」

を持っていますキーを押して、指定された関数を使用して画面に出力します。

def sign(data) 
     OpenSSL::HMAC.hexdigest(OpenSSL::Digest::SHA1.new, KEY,data) 
end 

この関数が与えられており、コードはこの部分で動作する必要があります(必須)。私はこれが何であるか分からず、将来私はそれを知りたいとは思わないが、私には複雑に見える。

このプログラムはルビーでなければなりません。どのような私がいない成功を収めて、今まで困惑している:私は右で何かをカウントするときプログラムの開発の結果

#!/usr/bin/ruby 

class Test 
    DATA = "mytest" 
    KEY = "secr3t" 
    def sign(data) 
    OpenSSL::HMAC.hexdigest(OpenSSL::Digest::SHA1.new, KEY,DATA) 
    end 
end 

# Create Objects 
object = Test.new() 
object.show 

は次の形式

6d5bbfc847ec3638b5aed33b371044d6763cde45 (40桁で出力を与えるべきです。 )

私がする必要がある残りの部分(無視するだけで完了します) プログラムが動作しているときは、クラス名にデータを変更し、 "HAWHamburg"にキーを押して、教師のanswermailboxに答えを送ってください。

ところで、私は私が私の学校を終えたとき私は決してプログラマーになることはありませんことを述べましたか?

私の質問に感謝します。

ポール

+2

挿入することに注意してください:これは[tag:python]と何が関係がありますか?あなたは何をしようとしているのですか?何が問題なの? –

+0

「成功しません」とは、私たちがあなたを助けるために十分正確なエラーの説明ではありません。 *何がうまくいかない? *どのように動作しませんか?あなたのコードにはどんな問題がありますか?エラーメッセージが表示されますか?エラーメッセージとは何ですか?結果はあなたが期待している結果を得ていないのですか?あなたはどんな結果を期待していますか、そしてなぜ、あなたはどのような結果を得ていますか、そしてその二つの違いは何ですか?あなたが観察している行動は、望ましい行動ではありませんか?望ましい行動とは何か、なぜ行動が観察され、どのように違うのですか? –

+0

これらのルール、コーナーケース、特殊ケース、境界ケース、エッジケースからの例外を含む、すべてのルールを含めて、実行したいことを*正確に指定できますか? –

答えて

0

あなたは私があなたのために少しのゲームで、この答えは、もう少し楽しく作ってみましたのプログラミングが好きではありませんので。あなたはそれを働かせるために答えを完了する必要があります!答えはあなたの質問が非常にはっきりしていないので、あなたが達成したいと思っているものに基づいています...

コードはここにあります!しかしは完全ではありません!疑問符の代わりに何かを挿入する必要があります。

require 'openssl' # <- this suggestion is free for this time ;) 

class Test 
    def initialize() 
    # All the instances will have the same key... soo secure! 
    @secret = "secr3t" 
    end 

    # The sign method requires a chunk of 
    # data to be digested 
    def sign(????) # <- What is missing? 
    OpenSSL::HMAC.hexdigest(OpenSSL::Digest::SHA1.new, ???????, data) # <- What is missing. 
    end 
end 


t = ????.???() # How do you create an instance?? 
puts t.sign("mytest") # prints the first digest 
puts t.sign("HAWHamburg") # prints the second digest 

あなたがそれを実行するとの回答が(ほとんど、6つの文字が隠されていることに注意してください...)です:

31fd98b24d2d18f69d4d84f822b86343???18643 
f5e01793af00b19f888dd66ec205d459???fd0fc 

自分でコードを完了する必要があり、最終的な結果を得るには。それは困難ではない、あなたはそれを行うことができます!

あなたが本当にブースト必要な場合のみ:

は、各?が1に対応し、唯一の1文字は、あなたの質問は非常に明確ではない;)

+0

こんにちはマッテオ、あなたの答えに感謝します。私は今日それを宿題として見直します。あなたの時間を提供してくれてありがとう –

+0

が期待通りに働いてくれて本当にありがとう。データ、@secret、Test.new –

+0

あなたは歓迎です:) –

関連する問題