0ch BBS Script (ver.4.xx) wiki

IDをスレッド毎に生成

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集

Q. IDを板毎ではなくスレッド毎に生成することはできますか?(2006-02-27版)



A. お好きな方法で。


■ 1つ目の案

HOST+日にち+板アカウントで生成してるんじゃなかったっけ。
まぁスレッドごとにID生成したいなら生成の時にスレッドキーも放り込んでやればいいんじゃないかな。
スレッドキーからsaltを作成して、一回余計にcryptかける。
やってることは単純だが、実装するとなるとめんどい。

galadriel.pl
sub MakeID 内
my ($server,$column) = @_;

my ($server,$column,$key) = @_;

$ret = substr(crypt(crypt($str,$times[5]),$times[3]+31),$column);

my @slt = ('.','/','0'..'9','A'..'Z','a'..'z');
my $saltbykey = $slt[$key & 63] . $slt[($key & 4095) >> 6];
$ret = >substr(crypt(crypt(crypt($str,$times[5]),$times[3]+31),$saltbykey),$column);

vara.pl
137行目あたり
$id = $oConv->MakeID($oSys->Get('SERVER'),8);

$id = $oConv->MakeID($oSys->Get('SERVER'),8,$oSys->Get('KEY'));



■ 2つ目の案

galadriel.plはいじらずに、
vara.pl
137行目あたり
$id = $oConv->MakeID($oSys->Get('SERVER'),8);

$id = $oConv->MakeID(substr($oSys->Get('KEY'), -8),8);
だけで実質的に十分な感じ。



.

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

目安箱バナー