anchor.diff:      application:start(crypto),
       MsgId = random_id(),
       Name = <<"keyname">>,
  -    Value = crypto:rand_bytes(20),
  +    Value = crypto:strong_rand_bytes(20),
       Msg = #dns_message{id = MsgId},
       SignedMsg = add_tsig(Msg, ?DNS_TSIG_ALG_MD5, Name, Value, 0),
       [#dns_rr{data = TSIGData} = TSIG] = SignedMsg#dns_message.additional,
  
positive.code:     application:start(crypto),
      MsgId = random_id(),
      Name = <<"keyname">>,
      Secret = crypto:rand_bytes(20),
      Algs = [ ?DNS_TSIG_ALG_MD5, ?DNS_TSIG_ALG_SHA1, ?DNS_TSIG_ALG_SHA224,
  	     ?DNS_TSIG_ALG_SHA256, ?DNS_TSIG_ALG_SHA384, ?DNS_TSIG_ALG_SHA512 ],
      Msg = #dns_message{id=MsgId},
  
negative.code: decode_encode_optdata_owner_test_() ->
      application:start(crypto),
      Cases = [ #dns_opt_owner{seq = crypto:rand_uniform(0, 255),
  			     primary_mac = crypto:strong_rand_bytes(6),
  			     wakeup_mac = crypto:strong_rand_bytes(6),
  			     password = crypto:strong_rand_bytes(6)},
  	      #dns_opt_owner{seq = crypto:rand_uniform(0, 255),
  			     primary_mac = crypto:strong_rand_bytes(6),
  			     wakeup_mac = crypto:strong_rand_bytes(6),
  			     password = crypto:strong_rand_bytes(4)},
  	      #dns_opt_owner{seq = crypto:rand_uniform(0, 255),
  			     primary_mac = crypto:strong_rand_bytes(6),
  			     wakeup_mac = crypto:strong_rand_bytes(6),
  			     _ = <<>>},
  	      #dns_opt_owner{seq = crypto:rand_uniform(0, 255),
  			     primary_mac = crypto:strong_rand_bytes(6),
  			     _ = <<>>} ],
      [ ?_assertEqual([Case], decode_optrrdata(encode_optrrdata([Case])))
        || Case <- Cases ].
  