Skip to content

Commit 58875ec

Browse files
author
Angelo Manganiello
authored
Merge pull request #152 from Luancarlos/encrypt_password_user
Encrypt user passwords on db
2 parents ef7a48c + 274785e commit 58875ec

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

generators/server/templates/server/package.json.ejs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@
6565
"shelljs": "0.8.3",
6666
"sqlite3": "4.0.9",
6767
"swagger-ui-express": "4.0.7",
68-
"typeorm": "0.2.24"
68+
"typeorm": "0.2.24",
69+
"typeorm-encrypted": "0.5.5"
6970
},
7071
"devDependencies": {
7172
"@nestjs/testing": "6.5.3",

generators/server/templates/server/src/config.ts.ejs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ export class Config {
5151
'cloud.config.name' = '<%= baseName %>';
5252
'cloud.config.profile' = 'prod';
5353
'loud.config.label' = 'master';
54+
'crypto.key' = '3772c1cdbd27c225735d116d1e4c5421a3aec26c919cc7ab457f21a4d16a1821';
55+
'crypto.iv' = '54f3ad979d9262d3a2dd4489531daf34';
5456

5557
constructor(properties) {
5658
this.addAll(properties);

generators/server/templates/server/src/domain/user.entity.ts.ejs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import { Authority } from './authority.entity';
22
import { Entity, Column, ManyToMany, JoinTable } from 'typeorm';
33
import { BaseEntity } from './base/base.entity';
44
import { ApiModelProperty } from '@nestjs/swagger';
5+
import { config } from '../config';
6+
import { EncryptionTransformer } from "typeorm-encrypted";
57

68
@Entity('jhi_user')
79
export class User extends BaseEntity {
@@ -32,7 +34,15 @@ export class User extends BaseEntity {
3234
authorities?: any[];
3335

3436
@ApiModelProperty({ example: 'myuser', description: 'User password' })
35-
@Column()
37+
@Column({
38+
type: "varchar",
39+
transformer: new EncryptionTransformer({
40+
key: config.get('crypto.key'),
41+
algorithm: 'aes-256-cbc',
42+
ivLength: 16,
43+
iv: config.get('crypto.iv')
44+
})
45+
})
3646
password: string;
3747
@Column({ nullable: true })
3848
imageUrl?: string;

0 commit comments

Comments
 (0)