koajs / session

Simple session middleware for koa

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Is crc32 realy needed?

kroleg opened this issue · comments

Currently to check if session changed koa-session does these:

  1. calculates crc of JSON.stringify'ed session data when it reads session from cookie/external storage
    this.prevHash = util.hash(this.session.toJSON());

    this.prevHash = util.hash(this.session.toJSON());

    return crc(JSON.stringify(sess));
  2. it calculates crc of session before commiting it and then compares new sum with old one.

So if instead of crc as a hash we will use result of JSON.stringify (i.e. const hash = (sess) => JSON.stringify(sess)) we can shave of some time from request/response processing. Not much, but it will be -1 dependency. Not sure if memory consumption will increase, i think it depends on garbage collection.

Resolves #131 and #156 (no need in faster crc calculator)

I'm also wondering why do we need crc32.
crc32 is used for error detection.
Simply compare the string will work.