BE基礎番号

提供: MonoBook
移動: 案内検索

BE基礎番号とは、2ちゃんねるにおけるBEポイントシステムにおいて、アカウント生成時に内部的に自動採番されているユニークな番号のことである。 BE基礎番号は0から始まるアカウント生成順序であるとされている。

計算式[編集]

BEポイントシステムWebサイト上のHTML内において一般公開されているのはBEプロフィール番号のみでありBE基礎番号は公開されていないが、URL中のBEプロフィール番号から算出することができる。

ソース[1]
568 :動け動けウゴウゴ2ちゃんねる:2012/04/20(金) 03:36:07.76 ID:74Zhd+rG0
「Be基礎番号」ってものが存在すると知ったんですが、
 この番号って、どうやったら確認できるんですか?
 Beにログインして書き込みすると、IDの横にBeの自分のページへのリンクが張られますが
 そのリンク先に行っても基礎番号って書かれてないですよね?

569 :動け動けウゴウゴ2ちゃんねる:2012/04/20(金) 03:48:37.38 ID:u4MuC5I50
>>568
 そのリンクURLに含まれる数字があるよね?
 その数字は毎回ランダムに生成されてるように見えるけど
 ある数字から、ある法則に沿って算出されたものなんだな。
 そのある数字が基礎番号。
 基礎番号を知るには、そのリンクURLの数字をある法則に従って逆算してやればいい。

 $benum = URLについてくるBEの数値; 
 $beid = (int($benum/100) + (int($benum/10) % 10) - ($benum % 10) - 5) / ((int($benum/10) % 10) * ($benum % 10) * 3);

実装例[編集]

Perl[編集]

上記オリジナルはPerlで記述されている。

$benum = URLについてくるBEの数値;# BEプロフィール番号のこと
$beid = (int($benum/100) + (int($benum/10) % 10) - ($benum % 10) - 5) / ((int($benum/10) % 10) * ($benum % 10) * 3);

PHP[編集]

PHPとPerlではキャストの記述方法が異なる程度である。

<?php
$benum = URLについてくるBEの数値;# BEプロフィール番号のこと
$beid = ((int)($benum/100) + ((int)($benum/10) % 10) - ($benum % 10) - 5) / (((int)($benum/10) % 10) * ($benum % 10) * 3);

C#[編集]

いわゆるコンソールアプリケーションである。

using System;
 
class App
{
    static void Main(string[] args)
    {
        // 引数チェック
        if (args.Length <= 0)
        {
            return;
        }
 
        // 実行時引数に指定されたstring型のBEプロフィール番号をint型に変換する。
        int benum;
        if (false == int.TryParse(args[0], out benum))
        {
            return;
        }
 
        // BEプロフィール番号からBE基礎番号を取得する。
        var beid = GetBeId(benum);
        // 標準出力に書き込む
        Console.WriteLine("BEID=" + beid);
    }
 
    static int GetBeId(int benum)
    {
        return ((int)(benum/100) + ((int)(benum/10) % 10) - (benum % 10) - 5) / (((int)(benum/10) % 10) * (benum % 10) * 3);
    }
}

関連項目[編集]

参考文献[編集]