Local encryption method, system, storage medium and program product for CAD files
Through dictionary encryption technology and custom object technology, local encryption of entity objects in CAD files is solved, and the problems of slow encryption speed and low confidentiality in the existing technology are achieved, and efficient encryption and circulation in multi-party collaboration scenarios are achieved , ensuring the confidentiality of files and data integrity.
Patent Information
- Application Number
- CN202311677983.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-13
- Publication Date
- 2024-12-06
- Estimated Expiration
- 2042-10-13
AI Technical Summary
The existing CAD drawing encryption methods have problems such as slow speed, single functions and low confidentiality, especially in multi-party collaborative operation scenarios, which are difficult to achieve fast and flexible file encryption and circulation.
Using dictionary encryption technology combined with custom object technology, local encryption of entity objects in CAD files is achieved. By creating non-entity objects and encrypted dictionaries, it can quickly select and hide encryption targets, provide hidden and read-only encryption states, and decryption instructions Implement data visibility.
Improves the encryption processing speed of CAD graphics files, supports efficient encryption and circulation in multi-party collaborative scenarios, ensures file confidentiality and data integrity, simplifies user operations, and avoids slow transmission efficiency and storage occupancy caused by excessive file size. .
Smart Images

Figure CN117668878B_ABST
Abstract
Description
[0001] This application is a divisional application based on the Chinese invention patent application with application number 202211253995.3, application date October 13, 2022, and invention name “A local encryption method, system and computer program product for CAD files”. Technical Field
[0002] The present invention relates to the field of computer-aided design (CAD), and in particular to a local encryption method, system, storage medium and program product for CAD files. Background Art
[0003] In some design companies or institutes, drawings are the most valuable and important files. Once these files are stolen or modified, the losses caused are very huge. Therefore, some encryption measures are usually taken for these valuable drawing files. The traditional CAD drawing encryption method usually encrypts the entire CAD drawing so that the entity graphics in the CAD drawing are not displayed, or the data of the CAD drawing cannot be obtained and edited. However, this encryption method is usually slow.
[0004] In order to solve the above problems, a method for read-only encryption of a part of a drawing is proposed in the prior art. For example, a group of entities is made into an anonymous block, and the group of entities is set to a read-only state, so that the user can see these entities from the drawing, but cannot edit them (specifically, it is impossible to obtain important data such as the type of the entity). Although this type of read-only encryption method can realize partial encryption processing of the drawing, its function is relatively single and its application scenarios are also limited.
[0005] Of course, in the prior art, another local encryption method is also proposed, such as the Chinese invention patent with application number CN201410060364.9, which discloses a local encryption method for CAD models based on sketching. The method encrypts the two-dimensional curve, three-dimensional curve, local surface, single feature or local feature structure of the CAD model sketch, so that the local feature structure in the CAD model is converted into other forms. In other words, the method is to achieve local encryption of the CAD model by data conversion. After the local encryption of the CAD model is achieved based on this method, for the user, although the encrypted CAD model can still be seen in the CAD drawing, the display graphics of the CAD model have changed. Specifically, the encrypted data in the CAD model has changed in the graphic display after encryption processing, so that the user or computer cannot view or observe the full picture of the original CAD model based on the changed (encrypted) graphics, thereby achieving read-only encryption of the original CAD model (that is, it can only be viewed but not edited). Although this partial encryption method has certain optimization in terms of flexibility, it still has some defects. For example, for some experienced draftsmen, there is a certain probability that they can deduce all the information of the model from the unencrypted part, so the confidentiality of this method is not high. In addition, the data conversion process of this method is relatively complicated. Summary of the invention
[0006] The object of the present invention is to provide a method for local encryption of CAD drawings. In order to solve the above-mentioned technical problems, the present invention specifically adopts the following technical solutions:
[0007] The first aspect of the present invention provides a local encryption method for a CAD file, comprising:
[0008] Providing a file, the file comprising: a plurality of entity objects;
[0009] In response to a user's operation, at least one encryption target to be encrypted is acquired, the encryption target comprising: at least one entity object;
[0010] In response to a user operation, the encryption target is encrypted so that the encryption target is changed to a corresponding encryption state, and the encryption state includes: a first encryption state;
[0011] Wherein, when the encryption state is the first encryption state, the step of converting the encryption target to the corresponding encryption state includes:
[0012] Establishing at least one encryption dictionary, the contents of which can be read by decryption instructions;
[0013] Acquire at least one non-entity object, in which data describing the encryption target is written;
[0014] The non-entity object is stored in the encryption dictionary, and the encryption target is deleted, so that the encryption target is in the first encryption state.
[0015] In some embodiments, the step of acquiring at least one non-physical object comprises:
[0016] creating at least one non-physical object based on the encrypted target;
[0017] Correspondingly analyzing and reading data information of the physical object, the data information includes: first object basic data, display data and feature data;
[0018] The data information is correspondingly written into the non-physical object, wherein the data structure of the non-physical object after the data writing is completed includes: second object basic data and second private data, and the second object basic data includes: the first object basic data, the second private data completely inherits the second object basic data, and the second private data also includes: the display data and feature data.
[0019] In some embodiments, the encryption state further includes: a second encryption state; and when the encryption state is the second encryption state, the step of converting the encryption target to the corresponding encryption state includes:
[0020] Obtaining the entity object in the encryption target;
[0021] The entity object is converted into a custom object, and after an interpreter for displaying the custom object is provided to a user, the encrypted object is in a visible state.
[0022] In some embodiments, it is characterized in that the step of establishing at least one encryption dictionary includes:
[0023] Establishing at least one dictionary on the file, wherein the dictionary is used to store the non-entity object;
[0024] The dictionary is encrypted, and correspondingly at least one decryption instruction for decrypting the dictionary is obtained, thereby obtaining the encrypted dictionary.
[0025] In some embodiments, the decryption instruction includes: a first decryption instruction, and correspondingly, the method further includes the steps of:
[0026] In response to a first decryption instruction input by a user, the non-physical objects stored in the dictionary enter a decryption state;
[0027] Reading the second object basic data and the second private data in the non-entity object;
[0028] The entity object is recreated on the file according to the second object basic data and the second private data, so that the encrypted target is in a visible state.
[0029] In some embodiments, the decryption instruction includes: a second decryption instruction, and correspondingly, the method further includes the steps of:
[0030] In response to a second decryption instruction input by a user, obtaining a non-entity object stored in the dictionary;
[0031] A custom object is created according to the non-entity object, and the custom object is set in a corresponding drawing space on the file.
[0032] The second aspect of the present invention also provides a local encryption system for CAD files, comprising:
[0033] A file providing module is configured to provide a file, wherein the file includes: a plurality of entity objects;
[0034] The target acquisition module is configured to acquire at least one encryption target to be encrypted in response to a user's operation, wherein the encryption target includes: at least one entity object;
[0035] The encryption module is configured to encrypt the encryption target in response to a user operation, so that the encryption target is converted to a corresponding encryption state, and the encryption state includes: a first encryption state; wherein the encryption module includes:
[0036] an encryption dictionary creation unit, configured to create at least one encryption dictionary when the encryption state is the first encryption state, wherein the content in the encryption dictionary can be read by a decryption instruction;
[0037] a non-entity object acquisition unit, configured to acquire at least one non-entity object, wherein the non-entity object has data for describing the encryption target written therein;
[0038] The encryption implementation unit is configured to store the non-entity object in the encryption dictionary and delete the encryption target, so that the encryption target is in the first encryption state.
[0039] In some embodiments, the non-physical object acquisition unit further comprises:
[0040] A first subunit, configured to create at least one non-physical object based on the encrypted target;
[0041] A second subunit is configured to correspondingly analyze and read data information of the physical object, wherein the data information includes: basic data of the first object, display data and characteristic data;
[0042] The third subunit is configured to write the data information into the non-physical object accordingly, wherein the data structure of the non-physical object after the data writing is completed includes: second object basic data and second private data, and the second object basic data includes: the first object basic data, the second private data completely inherits the second object basic data, and the second private data also includes: the display data and feature data.
[0043] In some embodiments, the encryption state further includes: a second encryption state, and correspondingly, the encryption module further includes:
[0044] The second encryption unit is configured to obtain the entity object in the encryption target when the encryption state is the second encryption state; convert the entity object into a custom object, and after providing an interpreter for displaying the custom object to the user, the entity object is in a visible state.
[0045] In some embodiments, the encryption dictionary creation unit further comprises:
[0046] A dictionary building subunit, configured to build at least one dictionary on the file, wherein the dictionary is used to store the non-entity object;
[0047] The dictionary encryption subunit encrypts the dictionary and correspondingly obtains at least one decryption instruction for decrypting the dictionary, thereby obtaining the encrypted dictionary.
[0048] In some embodiments, the decryption instruction includes: a first decryption instruction, and correspondingly, the system further includes:
[0049] The first decryption module is configured to respond to a first decryption instruction input by a user, causing the non-entity object stored in the dictionary to enter a decrypted state; read second object basic data and second private data in the non-entity object; and recreate the entity object on the file based on the second object basic data and the second private data, so that the encrypted target is in a visible state.
[0050] In some embodiments, the decryption instruction includes: a second decryption instruction, and correspondingly, the system further includes:
[0051] The second decryption module is configured to obtain the non-entity object stored in the dictionary in response to a second decryption instruction input by the user; create a custom object according to the non-entity object, and set the custom object in the corresponding drawing space on the file.
[0052] A third aspect of the present invention is to provide a computer program product, comprising computer instructions, which, when executed by a processor, implement the steps of any of the methods described in the above embodiments.
[0053] Beneficial technical effects:
[0054] The present invention proposes a method for partially encrypting a CAD file, so that a user can selectively encrypt different parts (such as different graphics or blocks) in a CAD file based on business needs, thereby reducing the necessary amount of encrypted data and effectively improving the encryption processing speed of the CAD graphic file.
[0055] At the same time, the local encryption in the present invention is preferably encrypted in units of one or more entity objects, so that the user can quickly select and determine the encryption target (i.e., the encryption object) to be encrypted in the CAD file. For example, in the collaborative operation scenario of CAD, multiple collaborators need to perform drawing operations in the same CAD file, and different collaborators have different viewing or editing permissions for CAD files. Therefore, it is often necessary for the upstream user (the main person in charge of the collaborative project) to be responsible for the confidentiality of the CAD file between multiple parties. Specifically, each collaborator usually creates one or more new blocks on the file during the drawing process (and, in CAD, a block is regarded as an entity object) to complete the corresponding drawing content. Therefore, when the upstream user wants to hide (or read-only) encrypt the drawing content of one (or more) of the collaborators to other (or more) of the collaborators, the block created by the collaborator can be quickly selected to quickly select the target content to complete the encryption requirements. The local encryption method in the present invention uses one or more entity objects (for example, a component, etc.), blocks, and viewports or layout spaces composed of one or more entity objects as encryption units for hidden or read-only encryption. Therefore, in a multi-party collaboration scenario or during the CAD file transmission process between upstream and downstream users, it helps users to efficiently and quickly encrypt part of the content in the CAD file without affecting the user's viewing and editing of the remaining content.
[0056] Moreover, the dictionary encryption technology does not generate too much encrypted data, thus avoiding the problem of slow transmission efficiency and excessive storage space occupied due to the large size of CAD files. In addition, after the user encrypts the file, the confidential data information involved is still retained in the CAD file itself, which is convenient for the user to decrypt and view the CAD file.
[0057] Furthermore, the cooperation between the local encryption method and the dictionary encryption technology can further meet the needs of file circulation between multiple parties, and improve the efficiency of file circulation while meeting business needs. For example, when it is necessary to provide conditional drawings to one or more downstream users, this method can directly output one or more conditional drawings on the original drawings, which is simple to operate and more efficient. Specifically, professional data that is not required by downstream parties (such as other collaborative parties with less authority, customers, etc.) is directly hidden on the original drawing, so that there is no separation between the original drawing and the conditional drawing, which effectively ensures the synchronization of design data.
[0058] Furthermore, the local encryption method in the present invention can also be applied to the scene of quick review. Specifically, the user can locally hide and encrypt the area that is not of much concern, so that only the area of key concern can be reviewed and viewed. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings required for use in the embodiments or the prior art descriptions are briefly introduced below. In all the drawings, similar elements or parts are generally identified by similar reference numerals. In the drawings, each element or part is not necessarily drawn according to the actual scale. Obviously, the drawings described below are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings without paying creative labor.
[0060] Figure 1 A schematic flow chart of a local encryption method in an exemplary embodiment of the present invention;
[0061] Figure 2 It is a data structure diagram of a CAD file;
[0062] Figure 3a is a schematic diagram showing the contents of a CAD file in a specific embodiment;
[0063] Figure 3b for Figure 3a The table part in the CAD file is hidden and encrypted to display the schematic diagram;
[0064] Figure 4a A schematic diagram of a first local operation interface for performing local encryption in an exemplary embodiment of the present invention;
[0065] Figure 4b A schematic diagram of a second local operation interface for performing local encryption in an exemplary embodiment of the present invention;
[0066] Figure 4c A schematic diagram of a third local operation interface for performing local encryption in an exemplary embodiment of the present invention;
[0067] Figure 5 is a schematic diagram of the module structure of a system in an exemplary embodiment of the present invention;
[0068] Figure 6a A schematic diagram of a first operation state of local encryption in yet another exemplary embodiment of the present invention;
[0069] Figure 6b It is a schematic diagram of a second operation state of partial encryption in yet another exemplary embodiment of the present invention;
[0070] Figure 6c It is a schematic diagram of a third operation state of partial encryption in yet another exemplary embodiment of the present invention. DETAILED DESCRIPTION
[0071] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.
[0072] Herein, suffixes such as "module", "component" or "unit" used to represent elements are only used to facilitate the description of the present invention, and have no specific meanings by themselves. Therefore, "module", "component" or "unit" can be used mixedly.
[0073] In this document, the terms "upper", "lower", "inner", "outer", "front", "back", "one end", "the other end" and the like indicate positions or positional relationships based on the positions or positional relationships shown in the drawings, and are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the devices or elements referred to must have a specific orientation, be constructed and operate in a specific orientation, and therefore cannot be understood as limiting the present invention. In addition, the terms "first" and "second" are used for descriptive purposes only and cannot be understood as indicating or implying relative importance.
[0074] In this document, unless otherwise clearly specified and limited, the terms "installed", "provided with", "connected", etc. should be understood in a broad sense. For example, "connected" can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection, a direct connection, or an indirect connection through an intermediate medium, or it can be the internal communication of two components. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0075] Herein "and / or" includes any and all combinations of one or more of the associated listed items.
[0076] Herein, "plurality" means two or more than two, ie, it includes two, three, four, five, etc.
[0077] In this article, "file" refers to various files that can be run in a CAD system and are used to draw, edit, modify, store, and view CAD drawings. Common CAD file formats include, but are not limited to, DWG, DXF, DWT, DWF, DWL, DWS, DWX, MNU, MNC, MNL, MNS, CUI, CUIX, SHX, PAT, LIN, CTB, STB, PLT, PC3, etc.
[0078] In this article, "object" is the basic type of drawing data (i.e. CAD file data). In other words, a drawing is composed of a series of objects. Among them, "object" further includes physical objects and non-physical objects.
[0079] In this article, "collaborators" refer to users who participate in a drawing project and work together. The collaborators may have the same expertise (for example, multiple engineers from the architectural profession drawing together) or different expertise (for example, architectural engineers, water supply and drainage engineers, electrical engineers, and HVAC engineers drawing together). The collaborators refer to each other's drawings.
[0080] In this article, "first encryption state" refers to the state of hidden encryption (i.e., invisible encryption). For users, when the encrypted object is in the first encryption state, the graphics or data content of the encrypted object are not visible on the file. "Second encryption state" refers to the read-only state (i.e., visible but not editable). For users, when the encrypted object is in the second encryption state, the graphics of the encrypted object are visible on the file, but cannot be edited (such as modified, deleted, copied, etc.).
[0081] In this article, Figure 2As shown in the figure, a CAD drawing is a collection of objects stored in a database, where the basic database objects are entities (also referred to as entity objects in this article), symbol tables, and dictionaries. An entity is a special database object that has a graphical representation in CAD, such as lines, circles, arcs, and text. When a CAD drawing is opened, the user can see the entity through the screen that displays the drawing, and can operate and edit the entity.
[0082] In order to expand the application of CAD in various industries and improve operational efficiency, CAD provides a secondary development interface. Developers can develop some tools and software according to the needs of specific industries. These tools can be used to create complex graphics composed of basic graphics or perform some special editing operations. Developers can define some parametric objects similar to basic objects. Such objects are custom objects.
[0083] Professional software uses custom objects and reactor-related technologies to increase the efficiency of drawing and modifying drawings by several times. However, custom objects can also bring negative effects, that is, compatibility issues. If the corresponding professional software or interpreter (Enabler) plug-in is installed (that is, the function that can display and edit these custom objects), the custom objects can be displayed and printed normally, and can also be easily parametrically edited. However, if the corresponding interpreter is not installed in CAD, CAD will not be able to recognize these custom objects, not only will it not be able to perform parametric editing, but sometimes it will not even be displayed. The custom object in this state is a "proxy object (or proxy graphics)". Since there is no interpreter, CAD does not know what type of this custom object is or what it is called, so it is uniformly displayed as a proxy object.
[0084] Embodiment 1
[0085] The first aspect of the present invention is to provide a method for local encryption of CAD files, such as Figure 1 As shown, the method comprises the steps of:
[0086] S10, providing a file, the file including: a plurality of entity objects;
[0087] S20, acquiring at least one encryption target to be encrypted in response to a user operation, the encryption target including: at least one entity object;
[0088] S30, encrypting the encryption target in response to the user's operation, so that the encryption target is converted to a corresponding encryption state, and the encryption state includes: a first encryption state;
[0089] Wherein, when the encryption state is the first encryption state, the step of converting the encryption target to the corresponding encryption state in step S30 includes:
[0090] S302, establishing at least one encryption dictionary, wherein the contents of the encryption dictionary can be read by decryption instructions;
[0091] S303, obtaining at least one non-entity object, wherein the non-entity object has data for describing the encryption target written therein;
[0092] S304: Store the non-entity object in the encryption dictionary, and delete the encryption target (ie, delete the entity object in the original encryption target), so that the encryption target is in the first encryption state.
[0093] Further, in some embodiments, the step of acquiring at least one non-entity object in S303 includes:
[0094] creating at least one non-physical object based on the encrypted target;
[0095] Correspondingly analyzing and reading data information of the physical object, the data information includes: first object basic data, display data and feature data;
[0096] The data information is correspondingly written into the non-physical object, wherein the data structure includes: second object basic data and second private data, and the second object basic data includes: the first object basic data, the second private data completely inherits the second object basic data, and the second private data also includes: the display data and feature data.
[0097] In this embodiment, the dictionary technology is preferably applied to the encryption application of the CAD file (i.e., the CAD drawing) to realize the local encryption in the CAD file. Specifically, when the user wants to hide part of the content in the file (such as one or more entity objects in the file), the part of the content selected by the user to be hidden is first formed into an encryption target, and a non-entity object is correspondingly created according to all the entity objects in the encryption target. Then the data information of all the entity objects in the encryption target is written into the non-entity object. Subsequently, the non-entity object is stored in / added to the pre-created encryption dictionary, and the entity object in the encryption target is deleted (i.e., the corresponding entity object is deleted in the drawing space of the file), so that the user cannot see the encryption target from the opened file, that is, the encryption target is hidden.
[0098] The inheritance structure (or data structure) of the data of the entity object is: AcDbObject→AcDbEntity→private data (herein, the private data of the entity object is also referred to as "first private data"), wherein the private data is also referred to as private content, which includes data specific to each graphic / entity object, such as the center and radius of a circle. The inheritance structure of the data of the non-entity object created in this embodiment is: AcDbObject→private data.
[0099] Among them, the AcDbObject layer mainly includes basic data such as object ID, object type, associated object ID, drawing version, etc. These basic data are also referred to as "object basic data" in this article.
[0100] AcDbEntity completely inherits the content of AcDbObject and adds display data to represent the entity. The display data includes one or more of the following: color, layer, line type, line type scale, plot style, line width, transparency, hyperlink, thickness, etc.
[0101] Private data completely inherits the content of AcDbEntity and adds geometric feature data (or feature data). Among them, feature data is data that is unique to the corresponding geometric figure (such as a circle or a line). For example, when the entity object is a circle, the geometric feature data includes one or more of the following: the coordinate position of the center of the circle (center X, Y, Z coordinates), radius, diameter, circumference, area, normal coordinates (normal X, Y, Z coordinates), etc. For another example, when the entity object is an arc, the geometric feature data includes one or more of the following: starting point coordinates (starting point X, Y, Z coordinates), center coordinates (center X, Y, Z coordinates), endpoint coordinates (endpoint X, Y, Z coordinates), starting point angle, endpoint angle, total angle, arc length, area, normal coordinates (normal X, Y, Z coordinates), etc.
[0102] Based on the first object basic data, display data, geometric feature data and other data, the entity object can be completely displayed.
[0103] In this embodiment, the data information in the original entity object is completely written into the non-entity object, and in the subsequent decryption process, the original entity object can be completely reproduced (i.e., the original entity object is recreated in the drawing space based on the above data information). In addition, the inheritance structure of the non-entity object adopts the form of AcDbObject→private data, which matches the characteristics of the encryption dictionary, so that it can be stored in the encryption dictionary smoothly.
[0104] At the same time, in this embodiment, non-physical objects are stored in the encryption dictionary, and the encryption dictionary is stored in the drawing itself, so the encrypted data is highly bound to the drawing itself. The high degree of binding between the encrypted data and the drawing can realize the overall circulation of the drawing data (that is, to ensure the integrity of the drawing data during the drawing circulation process), which is convenient for the coordination and management of the drawing data.
[0105] For example, when an encrypted drawing is saved, the encrypted data is still saved in the drawing itself, so that users can view all the data content of the drawing when they subsequently access the drawing. For another example, when a drawing is transmitted, all the data of the drawing is still circulated as a whole. When the downstream party or the collaborative party who obtains the drawing needs to view the drawing, they can view and edit the unencrypted part, and at the same time, after obtaining the corresponding permissions, they can conveniently view the encrypted content.
[0106] In some embodiments, the user is the person issuing the instructions.
[0107] Alternatively, in other embodiments, the user is a computer or other electronic device that can issue corresponding instructions.
[0108] For example, in some embodiments, the encryption target is a physical object, such as a geometric figure in a drawing.
[0109] For another example, in some embodiments, the encryption target is a block composed of multiple entity objects. That is to say, in this embodiment, the block can be encrypted as a whole.
[0110] For another example, in some embodiments, the encryption target may be a viewport composed of one or more entity objects, or a layout space, etc.
[0111] It can be understood that the viewport itself is an entity object, so encryption can be performed directly with the viewport as the encryption target.
[0112] When directly encrypting the layout space, it helps the user to quickly select multiple graphic elements (such as viewports, layout spaces, tiles, or other single entity objects, etc.). Of course, in other embodiments, one or more entity objects in the layout space can also be encrypted to further improve the flexibility and convenience of the encryption operation.
[0113] Further, in some embodiments, the encryption state further includes: a second encryption state; and when the encryption state is the second encryption state, such as Figure 1 As shown, the step of converting the encryption target to the corresponding encryption state in step S30 includes:
[0114] S306, obtaining the entity object in the encryption target;
[0115] S307, converting the entity object into a custom object, and after providing the user with an interpreter for displaying the custom object, the encrypted object is in a visible state.
[0116] The second encryption state in this embodiment is a read-only encryption state, which makes the encrypted object viewable but not editable.
[0117] In this embodiment, it is preferred to apply the custom technology to the read-only encryption (i.e., visible but not editable) application of the drawings. For the encrypted targets that are expected to be read-only encrypted, the custom technology is used to convert them into custom objects, and the custom objects need to be displayed with the cooperation of the interpreter (specifically, the interpreter interprets the custom entity so that the custom entity is displayed on the drawings). In this embodiment, the mutual cooperation of the dictionary technology and the custom technology provides a comprehensive encryption solution, thereby providing corresponding encryption methods for encryption targets with different confidentiality requirements, so as to provide different viewing and editing permissions to different downstream users, thereby further improving the flexibility of the encryption method.
[0118] In some embodiments, the interpreter can provide an interface for reading special data. As long as the encrypted entity object is selected, the data that the user cares about can be displayed in the property box through the interpreter. It can be understood that this data item is not fixed, and as long as it is added in the interpreter, the data can be displayed.
[0119] In some embodiments, for users who only obtain read-only permissions (such as downstream users, collaborators, etc.), they can be provided with an interpreter that only has the function of displaying custom objects. Therefore, when these users view the drawings, they can only see the encrypted targets on the drawings but cannot edit them.
[0120] It is understandable that if the interpreter is not provided to the user, the encrypted target is in a hidden state. In other words, the custom technical encryption method in this embodiment can be used for both hidden encryption and read-only encryption.
[0121] Alternatively, in other embodiments, an interpreter with dual functions of editing and viewing may be provided to the user, and the interpreter may decrypt the read-only encrypted target, thereby making the encrypted target viewable and editable.
[0122] In some embodiments, when the user wishes to use custom technology for read-only encryption, the user can also use custom technology to draw the physical object during the drawing design process. In this embodiment, the upstream user does not need to perform additional special processing on the drawing, so that the drawing can be read-only encrypted relative to other downstream users (specifically, the downstream user cannot read or identify the data without obtaining the interpreter).
[0123] Therefore, for upstream users (such as design companies and design institutes), different viewing and editing permissions can be provided to different downstream users (such as cooperative customers) by providing specific interpreters to them.
[0124] Alternatively, in other embodiments, the data of the custom object can be stored in an encryption dictionary, and the custom object can be deleted from the drawing space. At this time, the user needs to further obtain the decryption instruction of the encryption dictionary to obtain the read-only permission of the custom object, that is, to achieve read-only access to the encrypted object. This embodiment further improves the security of drawing confidentiality.
[0125] Further, in some embodiments, step S302 includes:
[0126] Establish at least one dictionary on the file, where the dictionary is used to store non-entity objects;
[0127] The dictionary is encrypted, and correspondingly at least one decryption instruction for decrypting the dictionary is obtained, thereby obtaining the encrypted dictionary.
[0128] For example, in some embodiments, when creating a drawing, one or more dedicated encryption dictionaries are added to the named object dictionary. At the same time, corresponding decryption instructions can also be set for opening and closing the encryption dictionary (that is, for the channel for obtaining data in the encryption dictionary). Only when the user has the corresponding encryption or decryption authority, can the encryption dictionary be used to implement encryption or decryption functions.
[0129] In this embodiment, the encrypted data in the drawing is still stored on the drawing, which can effectively protect the data security of the drawing itself. In addition, the confidential drawing obtained in this embodiment can also be used to output conditional drawings (conditional drawings refer to different versions of drawings corresponding to different roles, such as drawings corresponding to different areas for different downstream users), that is, directly hiding the data that the downstream professionals (i.e. downstream users) do not need on the original drawing, so that the original drawing and the conditional drawing will not be separated, which can effectively ensure the synchronization of design data.
[0130] For example, in a home decoration design scenario, it is necessary to show the designed drawings to consumers for browsing, but some sensitive data in them, such as cost tables, are not wanted to be seen by consumers. Therefore, two or more drawings are generally required to be saved, one without the cost table and one with the cost table. The local encryption method in this embodiment can partially encrypt the cost table. At the same time, the user can also assign encryption permissions to the cost table, such as hiding, read-only, etc., so there is no need to save two or more drawings. Only one drawing can be used to circulate between two or more parties, and the confidentiality and security of the data are guaranteed.
[0131] In some embodiments, the process of decrypting the hidden encrypted object is to recreate the physical object in the drawing space according to the data of the non-physical object. Therefore, the encryption method in this embodiment does not modify the graphic content of the original image, thus ensuring the security and accuracy of the data.
[0132] It should be noted that if Figure 2 As shown in the figure, the symbol table and dictionary are containers for storing database objects. For example, CAD will create a dictionary called a named object dictionary for the database when creating a new drawing. The named object dictionary can be regarded as the "table of contents" of all dictionaries related to the database. Users can create new dictionaries in the named object dictionary and then add new database objects to it. Specifically, in CAD, dictionaries are often used as supplementary data for physical objects. In other words, in existing CAD software, dictionary technology is a way to expand data. For example, if there are multiple lines of text with fields on the drawing, it is necessary to use a dictionary to bind the fields and multiple lines of text. For another example, an extended dictionary is used to store non-graphic data (where these non-graphic data are equivalent to attribute information, which cannot be recorded by the CAD program's own attribute dialog box) for subsequent extraction. Specifically, some construction data information can be stored in a polyline (representing a pipeline, or other), such as construction section, pile number range, construction completion time, etc. When the drawing is opened later, it will be known which construction unit constructed this pipeline and when it was completed, etc., which is convenient for viewing and counting construction data information.
[0133] In this embodiment, hidden encryption is preferably achieved through dictionary technology. The encryption dictionary does not expand the entity object, but is equivalent to replacing the data (saving the data information of the entity object). Therefore, the use of dictionary technology (or the role of the dictionary) in the embodiment of the present invention is different from the implementation method in the prior art.
[0134] Furthermore, in some embodiments, the decryption instruction includes: a first decryption instruction, and correspondingly, the method further includes the steps of:
[0135] In response to a first decryption instruction input by a user, the non-physical object stored in the dictionary enters a decryption state;
[0136] Reading the second object basic data and the second private data in the non-entity object;
[0137] The entity object is recreated on the file according to the second object basic data and the second private data, so that the encrypted target is in a visible state.
[0138] Further, in some embodiments, the decryption instruction includes: a second decryption instruction, and correspondingly, the method further includes the steps of:
[0139] In response to a second decryption instruction input by a user, obtaining a non-entity object stored in the dictionary;
[0140] Create custom objects based on non-solid objects and set the custom objects to the corresponding paper space on the file.
[0141] In some embodiments, the first and second decryption instructions may be input by the user viewing the drawing.
[0142] Alternatively, in other embodiments, the input / acquisition process of the first and second decryption instructions can be automatically implemented by the computer (or other electronic device) that reads the drawing. Specifically, when the local content of the drawing is encrypted, the corresponding decryption authority can be set at the same time, for example, the authority (such as verification information) is set so that the encrypted content in the drawing can be read by one or more computers (or other electronic devices), or one or more users. Subsequently, during the reading process of the drawing, when the drawing is acquired by the computer and the data is read, the system that manages the drawing (such as CAD software for reading the drawing) can autonomously (or autonomously by the drawing) read the verification information of the computer or user (for example, read the information in the computer that can be used to indicate the identity of the user or computer, such as computer ID, user IP address, etc.). Then, based on the verification information, it is determined whether the computer or user is granted viewing authority. If it is determined that the computer or user is granted viewing authority, the computer or user is allowed to read the encrypted data of the drawing based on the corresponding viewing authority (such as read-only authority, or viewing and editing authority). In this embodiment, the decryption process does not require manual operation by the user, and can be completed by the computer itself to simplify the user's operation process and optimize the user experience.
[0143] In this embodiment, the decryption instruction may be verification information of the computer or the user, or may be a preset decryption instruction sent to the encryption program after the computer obtains the corresponding verification information.
[0144] Furthermore, in some embodiments, the first display mode is used for unencrypted entity objects, and the second display mode is used for read-only encrypted encrypted objects, so as to visually distinguish between editable content and non-editable content, so as to better help users understand and edit the content of the drawings (for example, which ones are editable and which ones are not editable). According to different application scenarios, the first display and the second display mode can use different colors, different line styles (for example, virtual and real, thick and thin), and different highlighting methods (for example, changing elements can be made semi-transparent or in watermark mode).
[0145] In recent years, with the continuous development of the construction industry, manufacturing industry and other industries that use mapping software, the amount of information drawn using various types of mapping software, especially CAD (Computer Aided Design) software, is larger than before, and the amount of data in the files of CAD drawings is also increasing, so the encryption time required will be longer. In particular, when it comes to encrypting a batch of related CAD drawings in one or more related projects, the encryption time will be longer, which seriously affects the processing efficiency of CAD drawings in the process of management and storage. The local encryption method provided in this embodiment can effectively improve the processing efficiency of CAD drawings in the process of management (including encryption processing, file transfer, etc.) and storage.
[0146] In addition, unlike the local encryption method in the prior art (such as a local encryption method of a CAD model based on sketching), the encryption method in this embodiment can realize hidden encryption of the encryption target. Therefore, the method provided by this embodiment can also meet the user's demand for quick reference to drawings. Specifically, when the user only wants to focus on the content of certain areas on the drawing, other irrelevant content can be hidden and encrypted, so that only the content that the user focuses on is displayed in the drawing space, so as to help the user quickly view the focused content.
[0147] The local encryption method in the prior art is to perform read-only encryption on the CAD model (such as one or more entity objects). Therefore, the encrypted CAD model will still occupy a certain position in the drawing space, rather than being hidden or deleted from the drawing space. In addition, since this encryption method changes the display effect of the local structure in the CAD model in the hope that the CAD model cannot be fully viewed and restored, this method is not conducive to the user's viewing of the drawings. Especially when there are many graphic contents in the drawing space, this encryption method is likely to give the user an illusion that the data on the drawing is garbled (or, it is easy to produce a sense of spatial confusion in the drawing space), which has a negative impact on the user's viewing process.
[0148] It should also be noted that the "read-only encryption" mode in the prior art is completely different from the read-only encryption in this embodiment (eg, the implementation method and display effect are different).
[0149] In some embodiments, based on the above method, a data encryption manager (or data encryption management box) can be provided in the CAD software, such as Figure 4a-4c As shown, in the Data Encryption Manager, the user can select any entity object, block, viewport or layout window and encrypt it as read-only or hidden.
[0150] The technical solution of the present invention is further described below in combination with some practical usage scenarios:
[0151] Use scenario 1:
[0152] If the upstream user / upstream designer does not want the downstream user to see the private data of the drawing, or does not allow the downstream user to modify the data of the drawing, a local encryption method / function can be used to encrypt the data to be protected. The encrypted data can be read and written only after decryption. Specifically, an encryption manager can be provided in the CAD software based on the above encryption method, and the downstream user can decrypt the content through the encryption manager). At this time, the upstream user does not need to save a separate drawing of the content that the downstream user is allowed to view or edit, which improves the work efficiency of the upstream user.
[0153] like Figure 3a , Figure 3b As shown in the figure, when the upstream user does not want the downstream user to be able to see the contents of the table area below the drawing, the table area below can be hidden, such as Figure 3b As shown, the table area is not visible.
[0154] Use scenario 2:
[0155] For particularly complex drawings, there may be a lot of content that some users do not care about, which causes great trouble for users to browse the drawings. Using this method, the data that is not of interest can be encrypted and hidden, making the interface more concise. In addition, the relevant data is still saved on the drawing, which will not affect the accuracy and integrity of the drawing data.
[0156] Use scenario 3:
[0157] When an upstream user (such as the main person in charge of a project) needs to complete a drawing with multiple collaborators, for example, the upstream user is responsible for drawing the main building, Collaborator I is responsible for drawing the HVAC part, Collaborator II is responsible for drawing the water supply and drainage part, and Collaborator III is responsible for drawing the electrical part. Among them, the upstream user has the highest authority, while the collaborators only have partial authority.
[0158] However, one or more of the collaborators need to refer to or refer to the drawing parts of other collaborators when drawing their own parts to ensure that the various parts can work in coordination. At this time, the upstream user can set the reference drawing part to read-only encryption to prevent the collaborators from accidentally deleting or modifying the original drawing during the work process. Of course, for some content with relatively high confidentiality requirements, it can be set to hidden encryption. When one or more collaborators need to view it, the corresponding decryption instructions can be provided to them. At this time, the encryption target is often one or more blocks, or in other words, the encryption is mainly carried out in units of one or more blocks. For example, the HVAC part is drawn with reference to / reference to the main building. Therefore, the content of the HVAC part and the content of the main building belong to different blocks. When encrypting the HVAC part, you can actually directly encrypt the blocks drawn by the HVAC part. The operation is simple and the encryption efficiency is high.
[0159] Moreover, in the later stage when the project is nearly completed, it may involve multiple rounds of modifications. At this time, the above-mentioned partial encryption scheme can be used to realize the circulation of a drawing among multiple parties (without the need to save different versions of drawing files for different collaborators). Specifically, based on the order of drawing modification (for example, modify part A first, then modify part B), the confidential drawing can be sent to the collaborator responsible for part A first. After the modification of part A is completed, the confidential drawing will be sent to the collaborator responsible for part B. Finally, the main person in charge of the project will improve and review the final drawing. In this process, the use of partial encryption can ensure the consistency of important parts of the drawing during the transmission process (important content is not modified), and at the same time, users can be given sufficient viewing and editing permissions, and all new modifications are made on the same drawing file, ensuring the accuracy and coordination of the modified data during the modification process.
[0160] It is understandable that at least two steps are required to decrypt the encrypted target after dictionary encryption. The first step is to obtain the correct decryption instruction, and the second step is to reconstruct the original entity object in the drawing space based on the data in the non-entity object. After encryption with custom technology, the entity object can be seen by obtaining the correct interpreter, and if the interpreter with editing function is obtained, the entity object can also be edited. In the actual application process, the cooperation between upstream users (such as design companies or design institutes, etc.) and downstream users (such as customers), collaborators and other users may be long-term and effective, so the upstream users and downstream users and collaborators may communicate back and forth on multiple drawings of multiple projects. At this time, usually in the early communication, the upstream user will provide a specific interpreter (such as an interpreter with only viewing function) to the downstream user or collaborator. Therefore, in the subsequent collaborative communication, the downstream user or collaborator who obtains the new file may view the encrypted target set as read-only encryption in the file even if the corresponding permission is not granted in the cooperation.
[0161] Therefore, in this embodiment, hidden encryption is used for the encryption target with the highest encryption authority, and dictionary technology is preferably used to implement hidden encryption of the encryption target. For some encryption targets with relatively low encryption authority, custom technology is preferably used for read-only encryption. For read-only encryption implemented by custom technology, downstream users or collaborators can easily view the read-only encrypted encryption targets by obtaining the interpreter. No additional decryption operation is required for both upstream and downstream users, and the operation is simple. That is to say, in this embodiment, the mutual cooperation between dictionary technology and custom technology coordinates the user's demand for confidentiality security (or confidentiality level) and the demand for operational convenience (or file viewing convenience). Of course, it is understandable that for upstream users, downstream users and irrelevant users other than collaborators, the encryption methods of dictionary technology and custom technology can both play a role in keeping drawing data confidential.
[0162] In some embodiments, the dictionary can be encrypted by a common data encryption algorithm, such as AES (Advanced Encryption Standard), DES (Data Encryption Standard), RSA (RSA algorithm), SHA (Secure Hash Algorithm), and other commonly used encryption algorithms.
[0163] In this embodiment, the dictionary encryption technology cooperates with various general encryption algorithms to realize the encryption of the whole or part of the drawing, without designing a special encryption algorithm for the drawing data, and the implementation method is simple.
[0164] In this embodiment, all data encryption and decryption information is stored in the drawing itself, and the encryption method can be implemented independently of the network.
[0165] Embodiment 2
[0166] The second aspect of the present invention is to provide a system for local encryption of CAD files corresponding to the above method, such as Figure 5 As shown, including:
[0167] The file providing module 10 is configured to provide a file, wherein the file includes: a plurality of entity objects;
[0168] The target acquisition module 20 is configured to acquire at least one encryption target to be encrypted in response to a user operation, the encryption target including: at least one entity object;
[0169] The encryption module 30 is configured to encrypt the encryption target in response to the user's operation, so that the encryption target is converted to a corresponding encryption state, and the encryption state includes: a first encryption state; wherein the encryption module 30 includes: a first encryption unit 31, and the first encryption unit 31 further includes:
[0170] an encryption dictionary creation unit, configured to create at least one encryption dictionary when the encryption state is the first encryption state, wherein the content in the encryption dictionary can be read by a decryption instruction;
[0171] a non-entity object acquisition unit, configured to acquire at least one non-entity object, wherein the non-entity object has data for describing the encryption target written therein;
[0172] The encryption implementation unit is configured to store the non-entity object in the encryption dictionary and delete the encryption target, so that the encryption target is in the first encryption state.
[0173] In some embodiments, the non-physical object acquisition unit further comprises:
[0174] A first subunit, configured to create at least one non-physical object based on the encrypted target;
[0175] A second subunit is configured to correspondingly analyze and read data information of the physical object, wherein the data information includes: basic data of the first object, display data and characteristic data;
[0176] The third subunit is configured to write the data information into the non-physical object accordingly, wherein the data structure of the non-physical object after the data writing is completed includes: second object basic data and second private data, and the second object basic data includes: the first object basic data, the second private data completely inherits the second object basic data, and the second private data also includes: the display data and feature data.
[0177] In some embodiments, "non-entity objects" include: layers, text styles, dimension styles and other data. "Style" refers to a named set of attributes used to classify and define specific geometric and text elements (such as line styles or text styles). For example, a text style is a set of properties required for a series of text. For example, a block table record is a non-entity object, and a quick reference is a physical object generated by a block table record.
[0178] In some embodiments, the encryption state further includes: a second encryption state, and correspondingly, the encryption module further includes:
[0179] The second encryption unit 32 is configured to obtain the entity object in the encryption target when the encryption state is the second encryption state; convert the entity object into a custom object, and after providing the user with an interpreter for displaying the custom object, the entity object is in a visible state.
[0180] In some embodiments, the first encryption unit further comprises:
[0181] The dictionary building subunit is configured to build at least one dictionary on a file, the dictionary being used to store non-physical objects; encrypt the dictionary, and correspondingly obtain at least one decryption instruction for decrypting the dictionary, thereby obtaining the encrypted dictionary.
[0182] In some embodiments, the decryption instruction includes: a first decryption instruction, and correspondingly, the system further includes:
[0183] The first decryption module is configured to respond to a first decryption instruction input by a user, causing a non-entity object stored in a dictionary to enter a decrypted state; read second object basic data and second private data in the non-entity object; and recreate the entity object on the file based on the second object basic data and the second private data, so that the encrypted target is in a visible state.
[0184] In some embodiments, the decryption instruction includes: a second decryption instruction, and correspondingly, the system further includes:
[0185] A second decryption module is configured to obtain the non-entity object stored in the dictionary in response to a second decryption instruction input by the user;
[0186] Create custom objects based on non-solid objects and set the custom objects to the corresponding paper space on the file.
[0187] Preferably, the encryption system in this embodiment provides a comprehensive encryption solution including hidden encryption and read-only encryption through the combination of dictionary technology and custom technology, so that the advantages of dictionary technology and custom technology are combined with the needs of application scenarios, which not only meets the user's usage needs in different application scenarios (for example, multi-party collaboration scenarios) and different encryption purposes, but also ensures the security and accuracy of encrypted data.
[0188] For example, when multiple users involved in the collaboration are involved in different types of work, the most upstream user (project leader) can perform partial encryption on the drawings by type of work. Specifically, the drawing areas of different types of work are partially encrypted separately.
[0189] Furthermore, the read-only solution implemented by the custom technology in the present invention will not affect the browsing of the special data of each entity object, wherein the special data includes: entity type, some important data constituting the entity, such as the center of the circle, the radius, etc. In other words, the read-only encryption function in the present invention focuses on preventing modification, but important special data can be browsed (for example, viewed with the help of an interpreter and a CAD platform).
[0190] Embodiment 3
[0191] The third aspect of the present invention is to further provide a method for partial encryption of CAD files based on the method provided in the first embodiment, including the steps S10, S20 and S30. The difference from the first embodiment is that the specific implementation of step S30 is different.
[0192] For example, in some embodiments, the step of converting the encryption target into a corresponding encryption state in S30 includes:
[0193] Creating at least one first encryption dictionary, the first encryption dictionary is used to store the identification mark (such as ID) of the entity object and the identification mark (such as ID) of the first layer (that is, the original layer) where the entity object is located;
[0194] Create at least one new layer in the document, set the hidden flag on the layer, and set the layer to frozen state;
[0195] Get the entity object in the encryption target, change the layer where the entity object is located to a hidden layer, and save the identification marks of the entity object and its original layer in the encryption dictionary.
[0196] In some embodiments, when the confidential content needs to be decrypted, the entity layer can be modified to the original layer according to the identification marks of the entity object and the original layer stored in the first encryption dictionary, and the information stored in the dictionary can be deleted.
[0197] In some embodiments, the step of performing read-only encryption on the layer includes:
[0198] Creating at least one second encryption dictionary, wherein the second encryption dictionary is used to store the entity ID and the original layer ID in the second encryption state, and the new hidden layer in the locked state;
[0199] Clone a new layer from the original layer of the entity, set the hidden flag, and set it to locked state;
[0200] Get the entity corresponding to the encryption target, set the cloned new layer, and record the entity ID and the new and old layer IDs in the second encryption dictionary.
[0201] Furthermore, in some embodiments, when decryption is selected for read-only content, the layer ID corresponding to the entity is restored to the old one, and the response information is deleted.
[0202] The layer encryption method in this embodiment has a simple encryption process, and the size of the CAD file will not change too much under this encryption method (which is conducive to file transmission and storage).
[0203] In this embodiment, dictionary encryption technology is combined with layers to achieve partial encryption of CAD files. Figure 6a-6c As shown in the figure, there are at least two functions in the layer, such as freezing and locking. Among them, the objects on the locked layer can only be read but not edited; the objects on the frozen layer are hidden. Figure 6b The circle on the left is Layer 1, which is set to Frozen On, and the circle on the right is Layer 2, which is set to Lock On. The display effect after setting is as follows: Figure 6c As shown in the figure, the circle on the left is hidden, and the circle on the right is still visible but cannot be edited.
[0204] Furthermore, in some embodiments, graphics in a read-only state (visible but not editable) may be displayed in a special style to make it visually easy to distinguish the read-only encrypted graphics from other ordinary graphics, thereby facilitating users to perform editing operations.
[0205] Corresponding to any encryption method in the third embodiment, the present invention also provides an encryption system.
[0206] Embodiment 4
[0207] A fourth aspect of the present invention is to provide a computer program product embodied in a non-temporary computer-readable medium, wherein the computer program product is programmed for local encryption of CAD files, and the computer program product includes instructions for executing the operations of any of the methods described in the above embodiments.
[0208] For example, in some embodiments, the computer program product includes instructions for the following operations: providing a file, the file including: multiple entity objects; obtaining at least one encryption target to be encrypted in response to a user's operation, the encryption target including: at least one entity object; encrypting the encryption target in response to the user's operation, so that the encryption target is converted to a corresponding encryption state, and the encryption state includes: a first encryption state; wherein, when the encryption state is the first encryption state, the step of converting the encryption target to the corresponding encryption state includes: establishing at least one encryption dictionary, and the encryption dictionary can realize data reading through a decryption instruction; obtaining at least one non-entity object, in which data information for describing the encryption target is written; storing the non-entity object in the encryption dictionary, and deleting the encryption target, so that the encryption target is in the first encryption state.
[0209] An exemplary hardware and software environment for implementing one or more embodiments of the present invention includes a computer, which can be a user / client computer, a server computer, or a database computer. The computer includes a processor and memory, such as random access memory (RAM). The computer can be coupled and / or integrated with other devices, including input / output (I / O) devices, such as a keyboard, cursor control devices (such as a mouse, pointing device, pen and tablet computer, touch screen, multi-touch device, etc.) and a printer. In one or more embodiments, the computer can be coupled to or constitute a portable or media viewing / listening device (e.g., MP3 player, iPod TM 、Nook TM , portable digital video players, cellular devices, personal digital assistants, etc.). In another embodiment, the computer may include a multi-touch device, mobile phone, gaming system, Internet-enabled television, TV set-top box, or other Internet-enabled device executing on a variety of platforms and operating systems.
[0210] In one embodiment, the computer operates through a general purpose processor, executing instructions defined by a computer program under the control of an operating system. The computer program and / or operating system may be stored in a memory and may interface with a user and / or other device to accept input and commands and provide output and results based on the input and commands and instructions defined by the computer program and operating system.
[0211] Some or all of the operations performed by a computer according to computer program instructions may be implemented in a special purpose processor. In this embodiment, some or all of the instructions of the computer program may be implemented by firmware instructions stored in a read-only memory (ROM), a programmable read-only memory (PROM), or flash memory, which is located in the special purpose processor or memory. The special purpose processor may also be hardwired by circuit design to perform some or all of the operations that implement the present invention. In addition, the special purpose processor may be a hybrid processor that includes dedicated circuits for performing a subset of functions and other circuits for performing more general functions (such as responding to computer program instructions). In one embodiment, the special purpose processor is an application specific integrated circuit (ASIC).
[0212] Computers may also implement compilers, which allow an application or computer program written in a programming language (such as COBOL, Pascal, C++, FORTRAN, or other languages) to be translated into code readable by the processor. Alternatively, a compiler may be an interpreter, which can execute instructions / source code directly, convert source code to an intermediate representation to be executed, or execute stored precompiled code. Such source code can be written in various programming languages, such as Java TM , Perl TM 、Basic TM etc. Once completed, the application program or computer program uses the relationships and logic generated by the compiler to access and manipulate the data received from the I / O devices and stored in the computer's memory.
[0213] The computer may also optionally include external communications equipment such as a modem, satellite link, Ethernet card, or other device for accepting input from other computers and providing output to them.
[0214] In one embodiment, the instructions implementing the operating system, computer program, and compiler are tangibly embodied in a non-transitory computer-readable medium, such as a data storage device, which may include one or more fixed or removable data storage devices, such as a zip drive, a floppy disk drive, a hard drive, a CD-ROM drive, a tape drive, etc. In addition, the operating system and computer program consist of computer program instructions that, when accessed, read, and executed by a computer, cause the computer to perform the necessary steps.
[0215] Of course, those skilled in the art will recognize that any combination of the above components, or any number of different components, peripherals, and other devices, may be used with a computer.
[0216] A distributed computer system uses a network to connect client computers to server computers. A typical combination of resources might include a network, including the Internet, a LAN (local area network), a WAN (wide area network), an SNA (Systems Network Architecture) network, or a similar personal computing client.
[0217] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0218] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a computer terminal (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods of various embodiments of the present invention.
[0219] The embodiments of the present invention are described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific implementation modes, which are merely illustrative rather than restrictive. Under the guidance of the present invention, ordinary technicians in this field can also make many forms without departing from the scope of protection of the present invention and the claims, all of which are within the protection of the present invention.
Claims
1. A local encryption method for CAD files, characterized in that: include: Providing a file, the file comprising: a plurality of entity objects; In response to a user's operation, at least one encryption target to be encrypted is acquired, the encryption target comprising: at least one entity object; In response to a user operation, the encryption target is encrypted so that the encryption target is changed to a corresponding encryption state, and the encryption state includes: a first encryption state; Wherein, when the encryption state is the first encryption state, the step of converting the encryption target to the corresponding encryption state includes: Establishing at least one encryption dictionary, the contents of which can be read by decryption instructions; Acquire at least one non-entity object, in which data for describing the encrypted target is written; wherein the data information of the entity object in the encrypted target includes: first object basic data, display data and feature data; the data structure of the non-entity object includes: second object basic data and second private data, wherein the second object basic data includes: the first object basic data, the second private data completely inherits the second object basic data, and the second private data also includes: the display data and feature data; wherein the object basic data includes one or more of the following: object ID, object type, associated object ID, and drawing version of the file, and the display data includes one or more of the following: color, layer, line type, line type scale, plot style, line width, transparency, hyperlink, thickness; the feature data is data specific to the corresponding geometric figure; The non-entity object is stored in the encryption dictionary, and the encryption target is deleted, so that the encryption target is in a first encryption state.
2. The method according to claim 1, characterized in that The encryption dictionary is one or more dedicated encryption dictionaries newly added to the named object dictionary in the file, and the encryption dictionary is stored in the file; And / or, the encryption target includes: a viewport, a layout space or a tile composed of one or more entity objects.
3. The method according to claim 1, characterized in that The unencrypted entity object is displayed in a first display mode, while the encrypted object in a second encryption state is displayed in a second display mode, wherein the second encryption state is a visible but non-editable state.
4. The method according to claim 1, characterized in that: The encryption dictionary is stored on the file; and / or, The decryption instruction includes: a first decryption instruction, and correspondingly, the method further includes the steps of: In response to a first decryption instruction input by a user, the non-physical object stored in the dictionary enters a decryption state; Reading the second object basic data and the second private data in the non-entity object; The entity object is recreated on the file according to the second object basic data and the second private data, so that the encrypted target is in a visible state.
5. A system for local encryption of CAD files, comprising: The file providing module is configured to provide a file, wherein the file includes: a plurality of entity objects; The target acquisition module is configured to acquire at least one encryption target to be encrypted in response to a user operation, the encryption target comprising: at least one entity object; The encryption module is configured to encrypt the encryption target in response to the user's operation, so that the encryption target is converted to a corresponding encryption state, and the encryption state includes: a first encryption state; wherein the encryption module includes: a first encryption unit, and the first encryption unit further includes: an encryption dictionary creation unit, configured to create at least one encryption dictionary when the encryption state is the first encryption state, wherein the content in the encryption dictionary can be read by a decryption instruction; A non-entity object acquisition unit is configured to acquire at least one non-entity object, wherein the non-entity object has data for describing the encrypted target written therein; wherein the data information of the entity object in the encrypted target includes: first object basic data, display data and feature data; the data structure of the non-entity object includes: second object basic data and second private data, wherein the second object basic data includes: the first object basic data, the second private data completely inherits the second object basic data, and the second private data also includes: the display data and feature data; wherein the object basic data includes one or more of the following: object ID, object type, associated object ID, and drawing version of the file, and the display data includes one or more of the following: color, layer, line type, line type scale, plot style, line width, transparency, hyperlink, thickness; the feature data is data specific to the corresponding geometric figure; The encryption implementation unit is configured to store the non-entity object in the encryption dictionary and delete the encryption target, so that the encryption target is in the first encryption state.
6. A computer program product comprising computer instructions, characterized in that: When the computer instructions are executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.
7. A storage medium, characterized in that: Computer instructions are stored thereon, and when the computer instructions are executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.
