【堅牢】トリップの新方式を考えてみませんか【互換性】
■ このスレッドは過去ログ倉庫に格納されています
現段階でのトリップの問題点などを考えつつ、
現行方式よりも堅牢なトリップの方式を考えてみませんか。
マルチバイト文字問題や互換性などの問題も出てくると思いますが、
そこは皆で妙案を出し合いつつ、新たな方式を頑張って考えてみましょう。
関係スレ
幸せサーバープロジェクト 「アイデア・技術のある人募集中」★3
http://qb5.2ch.net/test/read.cgi/operate/1241361889/ SHA1の20Byte中先頭9ByteのB64って
従来式と比べて衝突増えるんだか減るんだかどうなの?
sports2はサニタイズの処理も違ったりするし、0x80問題も修正された方が
良いと思うし>>281には同意 降らぬなら降らせて見せようほととぎす。
DES っつか現行トリップについてはいろいろ詳しいが、
SHA-1 はよく知らん。
ごめんなさい、見栄はりました。
全然知らないです。(。・ω・。) 現行の10桁トリップは28京8230兆とおりの種類があり(64^9×16)、キーは1〜8byte。
SHA1を使う12桁トリップは47垓2236京6482兆とおりの種類があり(64^12)、キーは
12byte〜板の設定上限まで。
トリップのダブりに関してどーゆー計算をすればいいのかわかんないや。
出現するトリップの種類は1万6384倍多くなって、12byte未満のキーではないことが
保証される12桁トリップはなんとなくよさげに見えるす。 BBS_NAME_COUNTに依存するbyte数って事ですかいな。
しかし##757375626F6E0000suでも呪いがかかってるのねぇ、、、
tripにした時点で呪い判定してるのかぁ、恐るべし呪い。 >>292
いろいろやってみよう♪
エロエロではないです。 >>294
んだす。覚えやすくて十分に長いキーを使うようになったのに、違う板に行ったら
ハネられたという悲劇も生まれそう。てか、それはキーが永杉?
DESを使う現行方式で、キーに256種類すべてのキャラが使えるとすると(すいません、
よく知らないんです)、データの間引きによって同じトリップが出現するキーは64種類
あるのかな。
ハッシュ関数を使うと、データの間引き+コリジョンがダブりの原因になるんでしょけど、
これらがどれくらいの影響を及ぼすのかわかりませんねん灸。 もしかしてIDもおもしろい?のにとかとか。
上位4桁->host名の後ろから10文字とかocn.ne.jpのところから採取->MD5
下位4桁->IPアドレスから採取->MD5
/dev/random->MD5
+
識別子
#おまいOCNだろ!?なぁんて会話が飛び交ったり。。。
もう眠ろう。。。 BBS_NAME_COUNT は変換後の名前の長さに適用されるので,
変換前の長さには適用されません.とりあえず,
トリップキーの長さには 1024 というハードリミットを設けてあります.
まぁ,特に大きな異論がなければ,今のやつでぼちぼちいってみますかね...... >>302 12桁以上の「#$〜」形式は,今後また別のアルゴリズム等を
導入したくなった時などに利用することを想定しています.
ネタで ??? を出すだけならいいですが,本気で使うトリップに
現時点では「#$〜」形式を用いないように,という意図ですね. きっと誰かが、新トリップ方式のテンプレを作ってくれることを座して待とうw >>303
今使ってる人は、キーの一文字目を晒してしまう(のと同じ)ことになっちゃうけど
あきらめてもらいましょう、うんうん。
(置き換えりゃいいじゃんという的外れなレス禁止w) >>305 12桁未満なら「#$〜」でも従来通りなので,
わざわざ冗長なキーを使ってる人でない限り影響はないかと. >>306
なんという的確なつっこみ。
orz=3 >>303
お?とりあえずそのままいくですか。
よし、やっちまえー♪ 生キー指定以外の12桁以上「##〜」形式も将来の拡張用にしておきましょう.
で,まとめ:
if (length $handle_pass >= 12)
{
my $mark = substr($handle_pass, 0, 1);
if ($mark eq '#' || $mark eq '$')
{
if ($handle_pass =~ m|^#([[:xdigit:]]{16})([./0-9A-Za-z]{0,2})$|)
{
$GB->{TRIPSTRING} = substr(crypt(pack('H*', $1), "$2.."), -10);
}
else
{
# 将来の拡張用
$GB->{TRIPSTRING} = '???';
}
}
else
{
use Digest::SHA1 qw(sha1_base64);
$GB->{TRIPSTRING} = substr(sha1_base64($handle_pass), 0, 12);
$GB->{TRIPSTRING} =~ tr/+/./;
}
}
else
{
# 従来形式
}
・ 従来はトリップキーも含め <> や NG ワード等の置換処理が行われていたが,それをスルーするようにした.
・ キーの長さが 1024 桁を超えるとエラー. おつです。>>310
しかし ◆??? は見慣れないなぁ。
ようは「reserved」ってことなわけですが、変な単語より ??? の方がいいのかもですね。 キタ━━━━━━( ゚∀゚)y━━━━━━┛~~ !!! >>310
え?した?過去形?
・・・・・・・・・・・。
いやっほぉぉぉぉーーー! これは ◆fusianasan でもいいのかもしれない キターーー\(^o^)/
長時間の正座で立てません! キタ━━━━(゚∀゚)━━━━!!!!!
>>310
おつです >>309
ん?そのままだと#$+11桁でも???になりませんかいな?
$を含めて12桁って事? クッキーを食べてない状態で書き込むと
トリップが出なかった >>309 に基づくトリップの新仕様をまとめてみた。
これであっているかどうか、チェックよろしくです。
1. #(12文字以上) 新仕様発動、 #11文字以下 は従来通り
1) そのうえで ## #$ は特別な意味を持つ
1a)
- ##(8文字分の16進ASCIIコード) で、「ASCIIコードによる直接入力」により文字列を設定可能
- ##(8文字分の16進ASCIIコード)(0〜2桁のsalt) とすることにより、saltをも設定可能
- 上記では「従来アルゴリズム」により、10桁のトリップを生成
1b)
- #$ は将来の拡張のために予約、現在は何を指定しても ◆??? 表示
2) 上記以外の #12文字 では「新アルゴリズム」により、12桁のトリップを生成 >>321
ふむふむ、将来的に##と同じように判定があるからでしょうから問題ないですかねぇ〜
どもども♪ >>322
ちょっと直した。
1. #(12文字以上) で新仕様発動、 #(11文字以下) は従来通り
1) そのうえで ## #$ は特別な意味を持つ
1a)
- ##(8文字分の16進ASCIIコード) で、「ASCIIコードによる直接入力」により文字列を設定可能
- ##(8文字分の16進ASCIIコード)(0〜2桁のsalt) とすることにより、saltをも設定可能
- 上記では「従来アルゴリズム」により、10桁のトリップを生成
- 上記以外の ## は将来の拡張のために予約、現在は何を指定しても ◆??? 表示
1b)
- #$ は将来の拡張のために予約、現在は何を指定しても ◆??? 表示
2) 上記以外の #12文字 では「新アルゴリズム」により、12桁のトリップを生成 12文字以上になっても
やっぱりキーに2バイトの文字は使わないほうがいいのだろうか ぎゃああああああああああああああああ!!!!!!!
俺の10×kトリップがああああああああああああああ!!!!!!!!!!!!
死ね!死ね! さらに修正。
1. #(12文字以上) で新仕様発動、 #(11文字以下) は従来通り
1) そのうえで ## #$ は特別な意味を持つ
1a)
- ##(8文字分の16進ASCIIコード) で、「ASCIIコードによる直接入力」により文字列を設定可能
- ##(8文字分の16進ASCIIコード)(0〜2桁のsalt) とすることにより、saltをも設定可能
- 上記では「従来アルゴリズム」により、10桁のトリップを生成
- 上記以外の ## は将来の拡張のために予約、現在は何を指定しても ◆??? 表示
1b)
- #$ は将来の拡張のために予約、現在は何を指定しても ◆??? 表示
2) 上記以外の #12文字以上 では「新ャAルゴリズム」bノより、12桁のャgリップを生成
3) # の後は1024文字まで指定可能 あ!元の長さなら変化ない!
死ねとか言ってごめんね! 8文字キーの後ろにトリップメモっておいたのに、、まあしゃーねーか >>334
それまで使ってたトリップのキーを
半角8文字に縮めればいい
例えば
#01234567890123456789
だったら
#01234567
にすればいい で、
・1a) は「トリップジャンキー」な人向けの「神トリップ検索用仕様」
・2) は、従来のものよりもちょっぴり割られにくくなった新仕様
ということでいいのかな。 >>327 は #$ の記述がちと紛らわしいな。
これでいい気がする。
1. #(12文字以上) で新仕様発動、 #(11文字以下) は従来通り
1) そのうえで ## #$ は特別な意味を持つ
1a)
- ##(8文字分の16進ASCIIコード) で、「ASCIIコードによる直接入力」により文字列を設定可能
- ##(8文字分の16進ASCIIコード)(0〜2桁のsalt) とすることにより、saltをも設定可能
- 上記では「従来アルゴリズム」により、10桁のトリップを生成
- 上記以外の ##(11文字以上) は将来の拡張のために予約、現在は何を指定しても ◆??? 表示
1b)
- #$(11文字以上) は将来の拡張のために予約、現在は何を指定しても ◆??? 表示
2) 上記以外の #(12文字以上) では「新アルゴリズム」により、12桁のトリップを生成
3) # の後は1024文字まで指定可能 ふむ。いろいろ書いたけど >>342 でよさげかな。
そろそろ午後の本業の時間。 >>336
ちょっぴりどころじゃなく、現実問題として現時点では割られるなんてありえないぐらいでっす。
超高速な対応トリッパーもないですから。
単語をキーにしてたりとかそんなのは論外ですが。 ねえねえ株優プチどうやってだせばいいの?
頭に!kab!88-持って来ると株価表示でるし従来みたいに#酉!kab!88-でやると酉変わっちゃう。 #に続けて1〜1024文字を入力するとトリップに変換される
"#1〜11文字"で従来の10桁トリップ("##16進8桁の10進表示とsalt2桁"でも指定できる)
"#12〜1024文字"では12桁の新型トリップが発生
"##12文字以上"と"#$12文字以上"は未定義として◆???に変換
つまり
#abcd1234XYZ → 従来トリップ10桁
##DEADBEEF00 → 従来トリップ10桁
#abcd1234WXYZ → 新トリップ12桁
##hogehogehogehoge → ◆???
#$hogehogehogehoge → ◆???
これでおk? #酉!kab!88-
後方だと!kab!88-を酉の文字列としてるんでしょうねえ。 Beプロフとモリタポ通帳のモリタポを集めるは従来のまま?? >>363
!kab #酉だと株価とか余計な表示がもれなくついてくるのよね モリタポには対応してるんですか?
っていう質問はブラジル社へ。 トリップ文字列の終端を示すモノを付けるか、トリップを生成する文字列の長さを制限するか・・・
!omikuji とかも先頭に付けないと同じかも。
シロートなので、エロイ人にはもっとスマートで賢い方法があるんだろうと思いながら・・・ IPv6板にもちゃんと反映されてた。自動更新すげえ。 >>320,339 の問題は対応しました.
>>347 のはどうすればいいか検討中ですが......
!kab- とかでは問題ありますか? トリップの終端をうまく指定できればいいのかな。
しかし、 ! を一律終端扱いにするのもちといまいちかも。 鍵空間が縮んでしまいまする
!kabp とか作って!kabp #tripとすると後ろに出るように…エレガントじゃないなぁ !はキーにも普通にあるわけで
逆に株コマンドの方を変えればとか思ったけど
・・・ナニを使えばいいんだ? 割られにくいトリップキーをちゃんと設定する人が増えるといいな。 酉キーの後ろに株コマンド置けてたのがそもそもイレギュラーのような・・・ 要は,株の機能を使ってる時でも株価表示等を隠せるようにしたいということですよね?
そういう指定ができるやり方を新たに作ればいいのかな,とも思うんですが,
bbs.cgi をざっと見たところ !kab- がそれっぽい機能のような気がするんですが,
どうなんでしょうか? !コマンドは、前に付けるで調整したほうが早いかも。 >>372
むぎゅ
ところでモリタポには対応してるの? >>370
配布
↓
ν速では●やDIA、株主は強制ランダム名無し+地域表示スルー
だけど、
何もなくてもトリップだけは入るようになってた(名前+トリ→名前は入らなかった)
トリップキーだけ入れる(#1234とか)と、ランダム+地域+トリになった
↓
修正
↓
●ログインでもトリップのみの表示は不可能な仕様になった
名前だけ、名前+鳥はおk
これはSunosさんの方でなおせますかー? 「!kabなんちゃら」の代わりに「!!kabなんちゃら」で出ないようにしてみました.
>>384 今はどうですか? ■ このスレッドは過去ログ倉庫に格納されています