INCI名称与CAS编号

CAS校验码详解:它如何揪出打字错误

逐步讲解CAS校验码的计算方法,并用一个实例展示如何揪出被调换顺序的数字。

Diane R.1 分钟阅读

供应商的产品规格表上,有人把9004-34-6打成了9004-32-4,结果连续两批产品都没人发现。这正是校验码存在的意义:一旦你掌握了这套算法,只需三十秒就能揪出这种错误。

校验码究竟是什么

一个CAS登记号看起来是三组由连字符分开的数字,比如9004-34-6。最后一个连字符之后的那个数字,并不是这个物质身份的一部分。它是一个校验和,由前面所有数字计算得出。如果有人把两个数字调换了位置、漏掉了一个数字,或者在把规格表抄写进档案时打错了一个数字,校验和几乎总会对不上。这种不匹配就是一个信号,提醒你这个号码有问题,甚至不用去查这个号码本该对应什么物质。

这一点的重要性超出想象。CAS号是你把供应商的成分与限用清单上正确条目对应起来的依据。号码写错了,你可能会把完全错误的物质拿去筛查,那个物质表面上看起来相似,但浓度限值不同,甚至根本不受限制。

逐步演算

去掉连字符,从校验码前面最右边的数字开始,往左推算。

  1. 取出除最后校验码之外的所有数字。
  2. 把这些数字中最右边的那个乘以1,往左数第二个乘以2,第三个乘以3,依此类推,乘数随着往左移动而递增。
  3. 把所有乘积加起来。
  4. 用这个总和除以10,取余数。这个余数就应该是校验码。

我们用9004-34-6来演算一遍。去掉连字符和校验码:900434。从右往左读,数字依次是4、3、4、0、0、9,对应的乘数是1、2、3、4、5、6。

  • 4 × 1 = 4
  • 3 × 2 = 6
  • 4 × 3 = 12
  • 0 × 4 = 0
  • 0 × 5 = 0
  • 9 × 6 = 54

加起来:4 + 6 + 12 + 0 + 0 + 54 = 76。76除以10取余数,得6。这和号码上的校验码相符,所以9004-34-6内部是自洽的。

现在试试打错的版本,9004-32-4。校验码前面的数字是900432,倒序排列并乘以对应乘数:2×1、3×2、4×3、0×4、0×5、9×6,也就是2 + 6 + 12 + 0 + 0 + 54 = 74。除以10取余数得4,恰好和显示的校验码4相符。也就是说,这个特定的打字错误碰巧生成了另一个看起来内部有效的号码,只不过它对应的是另一种物质(或者根本不是任何已登记的物质)。这就是问题所在:校验码只能告诉你这个号码内部自洽,并不能告诉你这就是你原本想写下的号码。它是一道很有力的初筛关卡,但不是万无一失的保证。

校验码能揪出什么,揪不出什么

错误类型 校验码能否揪出
单个数字改成了另一个数字 通常可以
两个相邻数字被调换 通常可以
整段数字来自错误的成分 不一定,如果那个号码本身是有效的
缺少连字符或多打了空格 不适用,这是格式问题,不是数学问题
号码对了,但配的成分名称错了 永远揪不出,这需要查数据库,而不是靠算术

最后一行才是真正的教训。校验码只能告诉你一个号码格式正确,不能告诉你这个号码就是你以为的那个成分。要确认这一点,你仍然需要拿这个号码去查真正的化学品登记库,确认物质名称与供应商文档所说的一致。

这在填报流程中处于什么位置

如果你正在为某次通报整理成分清单,养成一个小习惯会很有帮助:每次把CAS号从检测证书或供应商规格表抄进你自己的记录时,都跑一遍校验码运算。这花的时间比校对一句话还短,却能揪出那些在系统间反复重新输入号码时经常发生的单字符失误。

但它无法揪出所有问题。如果供应商给你发来的CAS号本身就是错的,配的却是正确的成分名称,而且格式规范,那么这个测试根本拦不住它。这需要另一道核验步骤:把号码与INCI名称对照,确认两者指向同一物质。但对于普通的打字错误、调换顺序的数字,校验码是一道快速、免费的合理性检查,值得纳入你处理进货配方数据的流程中。

Cosmetic Comply在通报流程中,会把这种校验自动纳入成分与INCI名称、CAS号的匹配环节,让你在整理通报材料时少一件需要人工核对的事。

准备好申报了吗?

把你的成分清单发给我们,剩下的交给我们

只需填写一份简短的信息表即可开始。我们会将每一项成分与目标市场的禁用及限用清单逐一核对,随后为你提交通报,并给你一个可查询的编号。

开始申报

继续阅读