CN107423797A - 一种防伪码信息生成方法 - Google Patents

一种防伪码信息生成方法 Download PDF

Info

Publication number
CN107423797A
CN107423797A CN201710641825.5A CN201710641825A CN107423797A CN 107423797 A CN107423797 A CN 107423797A CN 201710641825 A CN201710641825 A CN 201710641825A CN 107423797 A CN107423797 A CN 107423797A
Authority
CN
China
Prior art keywords
value
false proof
picture
numerical value
isn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710641825.5A
Other languages
English (en)
Other versions
CN107423797B (zh
Inventor
黄利民
张川
刘锋
伍逵
何浩
胡娟
宋俊杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu New Profit Electronics Co Ltd
Original Assignee
Chengdu New Profit Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu New Profit Electronics Co Ltd filed Critical Chengdu New Profit Electronics Co Ltd
Priority to CN201710641825.5A priority Critical patent/CN107423797B/zh
Publication of CN107423797A publication Critical patent/CN107423797A/zh
Application granted granted Critical
Publication of CN107423797B publication Critical patent/CN107423797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/5866Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

本发明公开了一种防伪码信息生成方法,包括以下步骤:步骤一、创建值色表和图片库;步骤二、外部***通过参数调用启动防伪信息生成过程,该参数包括内码、Url和前缀;步骤三、将Url、前缀和内码合并,并计算其校验码,然后将Url、前缀、内码和校验码组合,并形成二维码;步骤四、生成防伪数值信息列表;步骤五、从步骤三的二维码中,通过图片索引计算并将计算结果对图片库中防伪图片总数取模,得到图片索引,然后从图片库中得到对应的防伪图片;步骤六、将步骤三形成的二维码、步骤四形成的防伪数值信息列表与步骤五得到的防伪图片组合生成防伪码信息。本发明的防伪码信息生成方法,调用简单,数据存储压力小。

Description

一种防伪码信息生成方法
技术领域
本发明属于防伪信息技术领域,具体涉及一种防伪码信息生成方法。
背景技术
随着科学技术不断进步、经济不断发展,越来越多的假冒伪劣产品已经成为了经济发展过程中呈现的突出问题,假冒伪劣产品的存在,不仅侵害了广大消费者的利益,同时也给制造、销售厂商带来了严重的经济损失,严重扰乱了社会秩序,因此,在许多产品上都会印刷防伪码,以作为识别假冒伪劣产品的标识。但是,目前生成防伪码的方法,存在数据存储量大、调用复杂的问题。
发明内容
本发明的目的在于:针对现有技术中存在的问题,提供一种防伪码信息生成方法,数据存储量压力小、调用简单。
为了实现上述目的,本发明采用的技术方案为:
一种防伪码信息生成方法,包括以下步骤:
步骤一、创建值色表和图片库,所述的值色表用于描述防伪数值、防伪数值颜色与值色索引数值三者的组合关系,图片库预先存储若干张防伪图片;
步骤二、外部***通过参数调用,启动防伪信息生成过程,该参数包括内码、Url和前缀;
步骤三、将Url、前缀和内码合并,并计算其校验码,然后将Url、前缀、内码和校验码组合,并形成二维码;
步骤四、从步骤三的二维码中取一组指定位值,通过值色索引计算并将计算结果分别对值色表中值色索引数值的项数取模后得到对应的值色索引数值,在值色表中按值色索引进行搜索,得到与值色索引数值相对应的防伪数值和防伪数值颜色,根据防伪数值和防伪数值颜色形成具有颜色数值的防伪数值信息列表;
步骤五、从步骤三的二维码中,通过图片索引计算并将计算结果对图片库中防伪图片总数取模,得到图片索引,然后从图片库中得到对应的防伪图片;
步骤六、将步骤三形成的二维码、步骤四形成的防伪数值信息列表与步骤五得到的防伪图片组合生成防伪码信息。
优选地,步骤二中所述的外部***为防伪业务***,内码为预先存储于防伪业务***中的十进制值,在步骤三中将Url、前缀和内码合并,并计算其校验码之前,将所述的十进制的内码转换为多进制码。
优选地,步骤三中,校验码的计算方法为:将前缀和内码组成的原始字符串进行加密计算,然后得到加密后的字符串ASCII和,将ASCII和对防伪数值的项数取模并加1,得到所述的校验码。
优选地,所述的值色索引计算方法为:从步骤三的二维码的前缀、内码和校验码组成的字符串进行加密计算,然后从该字符串中从第i、i+j1-1、...、i+jn-1位,共n位分别取ASCII值进行ASCII计算,计算结果对值色索引数值的项数取模,分别得到n个值色索引数值;其中,i为从字符串左起整数位字符,j为整数位间隔。
进一步优选地,具体地,
第i位对应索引值计算为分别取第i、i+1、i+2位的ASCII值;
按照(第i位ASCII值*1)+(第i+1位ASCII值*2)+(第i+1位ASCII值*3)+1,得到ASCII值总和;
将上述ASCII值总和对值色索引数值的项数取模,得到第i位对应的索引值;
按照上述计算方法,依次计算剩余n-1个值色索引数值。
优选地,步骤五中图片索引计算的过程包括将步骤三的二维码的前缀、内码和校验码组成的字符串进行加密计算,得到加密后的字符串的ASCII和,然后对图片总数进行取模,得到所述的图片索引。
优选地,步骤六生成的防伪码信息还包括前缀和内码组成的字符串ID信息。
由于采用了上述技术方案,本发明的有益效果是:
本发明的防伪码生成方法,囊括了标签ID、二维码数据、防伪验证数字与颜色、防伪图片等信息,加密强度高、不易破解;调用时只需要给出Url、前缀、内码,该算法即可生成所有防伪信息,调用简单,生成方便;不需要建立内码、条码以及防伪信息之间的对应关系数据,极大地减少了数据存储压力。
附图说明
图1是本发明的三组防伪码信息图。
图2是本发明的防伪数值信息列表图。
图3是本发明的防伪图片图。
图4是本发明的防伪码信息各部分构成图。
具体实施方式
本发明的一种如图1所示的防伪码信息生成方法,包括以下步骤:
步骤一、创建值色表和图片库,所述的值色表用于描述防伪数值、防伪数值颜色与值色索引数值三者的组合关系,图片库预先存储若干张防伪图片。
通过一个二维表格,可以描述值与颜色的组合,该表被称为值色表,如表1所示。
表1.值色表
1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26
27 28 29 30 31 32 33 34 35
36 37 38 39 40 41 42 43 44
45 46 47 48 49 50 51 52 53
绿 54 55 56 57 58 59 60 61 62
63 64 65 66 67 68 69 70 71
表1中第1行为防伪数值,第1列为防伪数值颜色,其他数值为值色索引数值,例如30表示防伪数值为4且4的颜色为红色。
步骤二、外部***通过参数调用启动防伪信息生成过程,该参数包括内码、Url和前缀。***为防伪业务***,本实施例中内码为预先存储于防伪业务***中的十进制值,从内码可以通过算法得到所有的防伪信息。Url为网址信息,前缀为自定义,例如SC,为四川地区缩写。
步骤三、将Url、前缀和内码合并,并计算其校验码,然后将Url、前缀、内码和校验码组合,并形成二维码。
再将Url、前缀和内码合并之前,首先将内码进行多进制转换,多进制在每个数位使用较多的字符来表示数,例如A表示10,B表示11等,可以有效压缩编码长度。当使用33进制,可以仅用4个字符就可以表示最大达1185920的十进制数。
例如,调用参数分别为:
内码:3267944;
Url:http://www.cdxdl.com/?id=;
前缀:SC;
本例中将十进制内码转换为33进制,由内码3267944得到33进制码11113RXVM;
校验码的算法为:将前缀、多进制码进行加密,然后对加密结果取ASCII值并相加,最后对和取模并加1。
原始字符串:SC11113RXVM;
加密后:268804160B380F41188BFE41448A8521,该加密计算过程采用常用加密计算方法即可,在本例中不再具体阐述;
ASCII和:1759;
对9取模并加1得到校验码:5;其中9为防伪数值的项数,值色表第一行为1-9,为9项防伪数值。
最终生成的二维码内容为:
http://www.cdxdl.com/?id=SC11113RXVM5。
步骤四、从步骤三的二维码中取一组指定位值,通过值色索引计算并将计算结果分别对值色表中值色索引数值的项数取模后得到对应的值色索引数值,在值色表中按值色索引进行搜索,得到与值色索引数值相对应的防伪数值和防伪数值颜色,根据防伪数值和防伪数值颜色形成具有颜色数值的防伪数值信息列表。
从步骤三的二维码的前缀、内码和校验码组成的字符串进行加密计算,然后从该字符串中从第i、i+j1-1、...、i+jn-1位,共n位分别取ASCII值进行ASCII计算,计算结果对值色索引数值的项数取模,分别得到n个值色索引数值;其中,i为从字符串左起整数位字符,j为整数位间隔。
具体地,第i位对应索引值计算为分别取第i、i+1、i+2位的ASCII值;
按照(第i位ASCII值*1)+(第i+1位ASCII值*2)+(第i+1位ASCII值*3)+1,得到ASCII值总和;
将上述ASCII值总和对值色索引数值的项数取模,得到第i位对应的索引值;
按照上述计算方法,依次计算剩余n-1个值色索引数值。
在本例中:
将前缀、多进制码和校验码进行加密,然后从加密字符串中分别从34、36、38、40、42位开始取ASCII值进行计算,得到值色索引列表。
原始字符串:SC11113RXVM5;
加密后:
2B174C09F56606D9963F6163FBBE8C23FC17CF01C6F49A333757ABB2AF8BE0CA31C4492FD5F1B08;
取ASCII(以第一个值色索引为例):34-36位分别为67、49、55
ASCII相加(以第一个值色索引为例):67*1+49*2+55*3+1=331;
对72取模(以第一个值色索引为例):43(72为值色表中值色索引数值项数量)
最后得到的五个值色索引数值分别为43、17、2、67、51。
将得到的值色索引数值索引值色表1,建立如表2所示的值色索引列表。
表2.值色索引列表
根据值色索引列表,得到如图2所示的防伪数值信息列表。
步骤五、从步骤三的二维码中,通过图片索引计算并将计算结果对图片库中防伪图片总数取模,得到图片索引,然后从图片库中得到对应的防伪图片。
图片索引计算的过程包括将步骤三的二维码的前缀、内码和校验码组成的字符串进行加密计算,得到加密后的字符串的ASCII和,然后对图片总数进行取模,得到所述的图片索引。
本例中:
原始字符串:SC11113RXVM5;
加密后:268804160B380F41B81B1609F06ED677
ASCII和:1777;
对6取模:1(6为图片总数);
1即为如图3所示的第1张图片。
步骤六、将步骤三形成的二维码、步骤四形成的防伪数值信息列表与步骤五得到的防伪图片组合生成防伪码信息,如图4所示。
生成的防伪码信息还包括前缀和内码组成的字符串ID信息。

Claims (7)

1.一种防伪码信息生成方法,其特征在于,包括以下步骤:
步骤一、创建值色表和图片库,所述的值色表用于描述防伪数值、防伪数值颜色与值色索引数值三者的组合关系,图片库预先存储若干张防伪图片;
步骤二、外部***通过参数进行调用,启动防伪信息生成过程,该参数包括内码、Url和前缀;
步骤三、将Url、前缀和内码合并,并计算其校验码,然后将Url、前缀、内码和校验码组合,并形成二维码;
步骤四、从步骤三的二维码中取一组指定位值,通过值色索引计算并将计算结果分别对值色表中值色索引数值的项数取模后得到对应的值色索引数值,在值色表中按值色索引进行搜索,得到与值色索引数值相对应的防伪数值和防伪数值颜色,根据防伪数值和防伪数值颜色形成具有颜色数值的防伪数值信息列表;
步骤五、从步骤三的二维码中,通过图片索引计算并将计算结果对图片库中防伪图片总数取模,得到图片索引,然后从图片库中得到对应的防伪图片;
步骤六、将步骤三形成的二维码、步骤四形成的防伪数值信息列表与步骤五得到的防伪图片组合生成防伪码信息。
2.根据权利要求1所述的防伪码信息生成方法,其特征在于,步骤二中所述的外部***为防伪业务***,内码为预先存储于防伪业务***中的十进制值,在步骤三中将Url、前缀和内码合并,并计算其校验码之前,将所述的十进制的内码转换为多进制码。
3.根据权利要求1或2所述的防伪码信息生成方法,其特征在于,步骤三中,校验码的计算方法为:将前缀和内码组成的原始字符串进行加密计算,然后得到加密后的字符串ASCII和,将ASCII和对防伪数值的项数取模并加1,得到所述的校验码。
4.根据权利要求1所述的防伪码信息生成方法,其特征在于,所述的值色索引计算方法为:从步骤三的二维码的前缀、内码和校验码组成的字符串进行加密计算,然后从该字符串中从第i、i+j1-1、...、i+jn-1位,共n位分别取ASCII值进行ASCII计算,计算结果对值色索引数值的项数取模,分别得到n个值色索引数值;其中,i为从字符串左起整数位字符,j为整数位间隔。
5.根据权利要求4所述的防伪码信息生成方法,其特征在于,具体地,
第i位对应索引值计算为分别取第i、i+1、i+2位的ASCII值;
按照(第i位ASCII值*1)+(第i+1位ASCII值*2)+(第i+1位ASCII值*3)+1,得到ASCII值总和;
将上述ASCII值总和对值色索引数值的项数取模,得到第i位对应的索引值;
按照上述计算方法,依次计算剩余n-1个值色索引数值。
6.根据权利要求1所述的防伪码信息生成方法,其特征在于,步骤五中图片索引计算的过程包括将步骤三的二维码的前缀、内码和校验码组成的字符串进行加密计算,得到加密后的字符串的ASCII和,然后对图片总数进行取模,得到所述的图片索引。
7.根据权利要求1所述的防伪码信息生成方法,其特征在于,步骤六生成的防伪码信息还包括前缀和内码组成的字符串ID信息。
CN201710641825.5A 2017-07-31 2017-07-31 一种防伪码信息生成方法 Active CN107423797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710641825.5A CN107423797B (zh) 2017-07-31 2017-07-31 一种防伪码信息生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710641825.5A CN107423797B (zh) 2017-07-31 2017-07-31 一种防伪码信息生成方法

Publications (2)

Publication Number Publication Date
CN107423797A true CN107423797A (zh) 2017-12-01
CN107423797B CN107423797B (zh) 2020-11-06

Family

ID=60431766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710641825.5A Active CN107423797B (zh) 2017-07-31 2017-07-31 一种防伪码信息生成方法

Country Status (1)

Country Link
CN (1) CN107423797B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110324349A (zh) * 2019-07-08 2019-10-11 喻汝成 一种区块链大数据安全处理***及方法
CN111382820A (zh) * 2020-02-25 2020-07-07 南通大学 一种四宫格纯色商品防伪码生成方法
CN111612476A (zh) * 2020-05-09 2020-09-01 艾斯芸防伪科技(福建)有限公司 二次校验防伪方法、装置、设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070115499A1 (en) * 2005-11-18 2007-05-24 Fuji Xerox Co., Ltd. Method and apparatus for making tags, tag, and system for managing articles
JP2009160089A (ja) * 2007-12-28 2009-07-23 Daito Giken:Kk 遊技台、遊技台用遊技媒体およびコード表示方法
CN102779456A (zh) * 2011-05-11 2012-11-14 郑进 一种覆盖防伪方法
CN103065177A (zh) * 2012-12-14 2013-04-24 苏州阔地网络科技有限公司 一种二维码编码方法及***
CN103264529A (zh) * 2013-04-25 2013-08-28 童丽娜 彩色数字格式命理变化对应追溯标签生产工艺
CN105117918A (zh) * 2011-11-02 2015-12-02 李华容 一种基于二维码的防伪方法
CN105930892A (zh) * 2016-04-22 2016-09-07 深圳活悦网络科技有限公司 一种可变logo二维码防伪方法及***
CN106204058A (zh) * 2016-06-23 2016-12-07 合肥学院 一种彩色数字矩阵二维码及其防伪方法
CN206134114U (zh) * 2016-08-31 2017-04-26 广州科琳电子科技有限公司 一种彩色二维码纹理防伪标签
CN106935131A (zh) * 2017-03-30 2017-07-07 成都印钞有限公司 一种防伪二维码
CN106952104A (zh) * 2017-04-01 2017-07-14 厦门星码科技有限公司 一种能够提高查验真伪效率的防伪方法及***

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070115499A1 (en) * 2005-11-18 2007-05-24 Fuji Xerox Co., Ltd. Method and apparatus for making tags, tag, and system for managing articles
JP2009160089A (ja) * 2007-12-28 2009-07-23 Daito Giken:Kk 遊技台、遊技台用遊技媒体およびコード表示方法
CN102779456A (zh) * 2011-05-11 2012-11-14 郑进 一种覆盖防伪方法
CN105117918A (zh) * 2011-11-02 2015-12-02 李华容 一种基于二维码的防伪方法
CN103065177A (zh) * 2012-12-14 2013-04-24 苏州阔地网络科技有限公司 一种二维码编码方法及***
CN103264529A (zh) * 2013-04-25 2013-08-28 童丽娜 彩色数字格式命理变化对应追溯标签生产工艺
CN105930892A (zh) * 2016-04-22 2016-09-07 深圳活悦网络科技有限公司 一种可变logo二维码防伪方法及***
CN106204058A (zh) * 2016-06-23 2016-12-07 合肥学院 一种彩色数字矩阵二维码及其防伪方法
CN206134114U (zh) * 2016-08-31 2017-04-26 广州科琳电子科技有限公司 一种彩色二维码纹理防伪标签
CN106935131A (zh) * 2017-03-30 2017-07-07 成都印钞有限公司 一种防伪二维码
CN106952104A (zh) * 2017-04-01 2017-07-14 厦门星码科技有限公司 一种能够提高查验真伪效率的防伪方法及***

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110324349A (zh) * 2019-07-08 2019-10-11 喻汝成 一种区块链大数据安全处理***及方法
CN110324349B (zh) * 2019-07-08 2020-11-24 天聚地合(苏州)数据股份有限公司 一种区块链大数据安全处理***
CN111382820A (zh) * 2020-02-25 2020-07-07 南通大学 一种四宫格纯色商品防伪码生成方法
CN111382820B (zh) * 2020-02-25 2021-10-12 南通大学 一种四宫格纯色商品防伪码生成方法
CN111612476A (zh) * 2020-05-09 2020-09-01 艾斯芸防伪科技(福建)有限公司 二次校验防伪方法、装置、设备及存储介质
CN111612476B (zh) * 2020-05-09 2023-04-07 艾斯芸防伪科技(福建)有限公司 二次校验防伪方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107423797B (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
CN104915847B (zh) 一种双码防伪瓶盖及其制造方法
WO2021031825A1 (zh) 网络欺诈识别方法、装置、计算机装置及存储介质
CN107423797A (zh) 一种防伪码信息生成方法
CN101847225B (zh) 一种基于cn39码管理商品流通的方法
CN104252677A (zh) 一种基于二维码防伪技术及防伪体系平台***
CN108416223B (zh) 一种基于混沌理论的信息标签加密方法及其***
CN104766113A (zh) 一种明暗码防伪标贴及其防伪方法
CN104794619B (zh) 用于商品包装的防窜货数字信息映射编码方法
CN105512523B (zh) 一种匿名化的数字水印嵌入和提取方法
CN107944527A (zh) 一种防伪二维码的加密和解码方法
CN104616389A (zh) ***识别方法和装置
CN108491915A (zh) 商品二维码使用方法和***
Liu et al. Secure KNN classification scheme based on homomorphic encryption for cyberspace
CN113779608A (zh) 多方纵向联邦学习LightGBM训练中基于WOE掩码的数据保护方法
CN108154207B (zh) 一种防伪唯一码生成及防伪验证方法
Majhi et al. Secure content‐based image retrieval using modified Euclidean distance for encrypted features
CN111881444B (zh) 一种基于加密标签算法的身份验证***及其工作方法
CN104715382A (zh) 一种商品防伪方法
CN104182882A (zh) 一种产品数字水印防伪防窜货***及其应用方法
Bhatnagar et al. Product traceability using blockchain
CN111030810B (zh) 基于图像局部随机变换技术的防伪加密方法
US8714438B2 (en) Method for interactive false checking of a product by using colored 2 dimensional bar codes and a system for performing the same
CN108197949A (zh) 一种防伪方法及其防伪***
US20160189015A1 (en) Data exchange methods, systems and apparatus using color images
CN106375288A (zh) 一种中文域名相似度计算方法及仿冒域名检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant