org安全基本面

或者g安全基本面

毫无疑问,您的ORG包含了重要数据,显然您不想与任何人分享。曾经想象如果你的重要信息泄露给第三方,那就发生了什么。他们可以通过存储在Salesforce Org中的机密信息进行游戏。在太晚才能提前采取预防措施总是更好的。所以’措施采取预防措施,使您的ORG安全,避免泄露任何重要信息。我们应该在我们最后确定的是:

  1. 用户访问
  2. 连接的应用程序
  3. 自定义代码
  4. 妥协账户

核心安全原则

我们应该设置一些安全原则,以确保您的组织的安全性。我们可以选择以下策略:

  • 防守深度: 拥有多层防御总是好的,因为使用任何一层都有可能失败。因此,如果我们有更多的图层,那么所有的层都同时失败的可能性不太可能。应该始终牢记这一原则。
  • 最重要的原则: 随着Word建议,每个实体都应该具有他们需要完成工作的最少的特权。它有助于限制损坏。

基本防御:

(i)用户和访问管理

总是需要确保需要访问ORG的用户只有访问权限。


以下是不同的访问管理层:

  • 组织访问:
    这涉及整个组织访问。我们应该确保每当一个人离开公司时,那么他就会被拨出。所有访问都应删除或带走他。要删除配置,可以冻结用户或停用它们,因此无法误用。
  • 简介:
    要删除混乱并出于安全用途,我们可以根据其配置文件授予对用户的访问权限。此外,我们可以根据配置文件给出每个对象的不同许可。字段级别安全性(FLS)控制字段的访问。创建配置文件的同时为它们分配特定的角色集。
    设置对象级别权限 one should go to
    快速查找搜索>> Profiles >> Select a Profile >>对象级别许可
    现在,您可以提供对要访问该特定配置文件的对象的读访问或写访问权限。

  • 共享默认值: 它是一个记录级别访问权限。
    • 公共对阵私人:  公众指的是,如果有人可以访问ORG中的所有对象。然后自动他可以访问该对象的所有记录。原则是保持私人,即;用户可以根据角色层次结构访问对象。
    • 内部与外部: 通过内部,我们的意思是将与ORG和外部直接登录的人是指通过公众面对社区,门户或外部喋喋不休的人员的人员。如果访问已公开,我们已通过任何门户登录,那么任何事故都有很高的机会。

(ii)健康检查:

如果用户可以访问他所需的对象,但密码非常弱吗?曾经想过?? ..是的,密码为提供安全性发挥着重要作用。我们可以保护这种情况,因为Salesforce提供了一种使您的ARG安全和安全的方法。执行健康检查:
快速搜索>> Health Check

健康检查提供以下信息:

密码长度
密码历史记录
最大无效的登录尝试
会话超时等…
健康检查以某种方式或其他方式有助于您了解Salesforce为您提供的建议。

(iii)双因素身份验证:

许多次密码被证明是非常弱的链接,这很容易被盗。他们充当一个失败的点。他们通常可以猜到。我们中的一些人有时会对所有帐户使用相同的密码有时会使用相同的帐户。

人们甚至可以使用Salesforce Authenticator来提供安全性。此应用程序可以快速安装。一旦用户登录,它们必须提供应用程序上显示的密码和一次性安全令牌。此验证器不仅限于Salesforce。
以下是设置2FA的步骤:

  1. 创建2FA权限集
  2. 分配给配置文件
  3. 在登录时,将邀请用户使用2FA

因此,2FA是完美的防御,并在向ORG提供安全性时证明很有用。

(iv)IP白名单:

采用是一种非常好的做法。这是下一个防御水平。当我们有方案等人没有提供2FA或安全令牌的设备时,它很有用。我们可以在组织中仔细选择我们的静态IP范围。我们可以为所有配置文件设置它,包括API用户和集成。到白名单IP,我们可以去
设置>> Network Access >> Put your static IP

通过这样做,每当您下次登录时,它都不需要任何安全令牌。

现在它’很多帮助你,让你的组织安全安全安全。在ingrossed并开始工作之前,请务必遵循最佳防御实践。总有一个间谍并只需要单一机会来获得所有信息。如果你留下任何漏洞,他就可以很容易。所以请不要向任何人提供单一机会并在发生致命事件之前采取预防措施。 是保护!….

Process Builder vs apex触发器–选择自动化工具

Process Builder vs apex触发器–选择自动化工具

流程建设者概述

Process Builder是您在构建时的图形表示。它包括

标准,即时预定的操作。

有以下事项可以通过Process Builder完成:

  • 创建记录:除了更新记录外,您还可以创建记录并在记录中设置字段值。
  • 创建Chatter Post:   将Chatter更新推入组或饲料。
  • 创建批准:传统上,您需要一个触发器自动将记录推入批准过程。使用Process Builder,您可以根据过程的标准自动执行此操作。
  • 快速整合工作流程:在一个过程中快速整合多个工作流规则。
  • 调用apex类:您现在可以调用apex类。

触发概述

触发器是代码,即代码 执行 在记录之前或之后 插入 或者 更新。

通常,A. apex(代码) 基于基于标准的评估,用于提出一系列事件。这些事件执行以下类型的操作

  • 插入
  • 更新
  • 删除
  • 合并
  • 颠覆
  • undelete.

在apex触发器中,您必须拥有

  • 需要编写知识。
  • 需要设计测试类以满足所需的测试覆盖范围。

但过程构建器的主要区别在于您无法删除任何记录,并且无法显示任何错误。对于这些,您必须编写触发器代码。例如:

顶点限制

  • 通过SOQL查询检索的记录总数50,000
  • DML 10,000检索的记录总数
  • 100(同步)发出的SOSL查询总数(SYNC)| 200(异步)
  • 发布的SOSL查询总数20
  • 由单个SOSL查询检索的记录总数2,000
  • 150发布的DML陈述总数
  • 触发100万的最大字符数

处理构建器限制

编辑: 用户无法在激活后编辑进程。因此,如同流程一样,需要通过克隆初始进程并对该克隆记录进行修改来创建新的进程。

验证: 进程不触发验证规则,因此可以使数据无效。

删除: 在失活后至少12小时不能删除非活动过程,并且不会出现在回收站中

错误信息: 创建不触发的进程时,您无法指定错误消息,这些进程随着流或验证规则而触发。

公式帮助: 在标准中使用公式时,语法中没有任何功能有助于预览

句法: 选择列表字段被评估为进程构建器中的文本字段,以便它们不支持任何选择列表公式 累积了 or ISNEW.

顶点触发最佳实践

  • APEX代码必须提供异常处理。
  • 查询大数据集使用SOQL循环
  • 不要在内部使用SOSL和SOQL循环。
  • 避免硬编码ID

流程建设者最佳实践

  • 查看:要查看对象上是否有任何工作流,以与过程相同的事情。此外,验证无主动顶点触发。
  • 避免: 采访Apex,工作流程和处理相同的过程。
  • 文档: 使用“描述”字段填充信息,例如何时由谁以及进程创建的信息.Also,如果进程相互作用。
  • 测试: 然后测试更多。例如,当您首次开始使用此时,请先练习沙箱。

如果你做错了,那么在这里有很多影响用户和数据的能力。

现在这个问题是 为什么要处理构建器以及它与触发有何不同?

流程构建器完全自定义。这里没有必需的代码,因为我们需要冗长的逻辑和记录来完成并满足要求或者我们使用流程构建器,所以需要更少的时间来完成要求。

它在触发器上有一些好处:

场景 选项 原因
场景I.

填充记录更新的查找字段:

传统上需要一个触发器,可以使用流程构建器轻松完成。

问题是多层查找逻辑 - 即触发器中所需的相关数据的多个/嵌套地图。

          Process builder 扳机 传统上是需要触发的东西。进程构建器允许管理员可以在不使用代码的情况下执行此操作。
场景II

根据记录标准设置帐户所有者

流程建设者

扳机

进程构建器可用于根据对象的条件分配记录的所有权。
情景III

基于记录标准发布喋喋不休

流程建设者

扳机

Process Builder可用于基于记录标准发布到喋喋不休。
场景IV.

在机会时提交报价进行批准 阶段=提案

流程建设者 扳机 需要2个进程,以便根据机会阶段更新报价,另一个在满足报价标准时提交批准的报价。
场景V.

通过记录标准启动流程VS按钮或链接。

流程建设者

扳机

流程构建器可用于设置记录条件,然后启动触发器就绪流程。
场景VI.

克隆机会并更改现场值

流程建设者

扳机

虽然进程构建器可以创建一个新的记录,但它不能引用来自克隆机会的任何值,而不使用流量来捕获机会值。

让’S查看给定的Process Builder示例:

允许联系人在联系地址和帐户帐单地址中复制当前用户地址,只有在任何地址字段(街道,国家/地区,状态)是空/空的时。

步骤1:

在联系人对象上制作进程 - 构建器。为联系方式提供标准..AIMing街 (null = false) 同样,对于所有地址的联系人和机会。

第2步:

“立即行动” 向Contact.Owner.country提供邮件国家的参考并激活您的进程:

 第3步:

现在通过在ORG中留下任何地址字段空白来测试ORG中的此过程构建器。

第4步:

在留下联系地址后,这里是与联系人的所有者地址相同的地址。同样,您可以为您的联系人帐户进行测试。

这是使用流程构建器而不是使用顶点的原因。 但在某些情况下,您必须编写进程构建器不能的触发码。

例如:

创建一个复选框字段“与用户一样& COMPANY”。当联系人被插入Salesforce时出现错误,该国家与用户国家和公司国家相同。

以上例子 无法通过流程构建器完成,因为这不允许您在插入联系人时丢失错误。
创建  复选框字段名为“与用户一样& COMPANY“联系。

APEX类:
public class SameUserAndCompanyCountryContact {

public static void sameCountry(List<Contact> conList){

   User user = new User();

   user = [SELECT Id , Country , CompanyName from User where Id =:UserInfo.getUserId()];

   System.debug('>>>>>>>>>>RB<<<<<<<<<<<<'+user);

Organization orgDetails = [ SELECT Name , Country , Address from Organization where Name =: user.CompanyName];

System.debug('>>>>>>>>>>>RB<<<<<<<<<<<<'+orgDetails);

for(Contact con : conList) {

  if(con.MailingCountry == user.Country && con.MailingCountry == orgDetails.Country){

   con.addError('Country of Company and User is same as country of Contact trying to insert');

     con.Same_Country_As_User_And_Company__c = True;

         }

      }

   }

}
apex触发:
trigger ErrorOnSameCountry on Contact (before insert){
  List<Contact> conList = Trigger.new;
     if(conList!=null) {
       SameUserAndCompanyCountryContact.sameCountry(conList);

    }
}

虽然Process Builder在Apex触发器上使用或反之亦然,但也取决于各种其他因素,例如:

  • 代码的复杂性。
  • 程序逻辑。
  • 过程建设者中的快速迭代可能是具有挑战性的。
  • 单位测试考虑因素。
我们如何使用带有闪电组件的第三方JavaScript库?

我们如何使用带有闪电组件的第三方JavaScript库?

现在,大多数开发人员使用了第三方库,因为第三方图书馆提供了快速而轻松的工作,可以节省大量时间并帮助您在编写代码时避免某些线条和努力。

第三方库通常属于以下类别之一:

  1. DOM操纵库(EX。jQuery等)
  2. 专业实用程序库(EX。矩矩.js,numeral.js等)
  3. UI库(例如Bootstrap,JQuery UI等)
  4. 数据可视化库(例如D3,Chart.js,传单等)
  5. MVC框架(EX。反应,角度等)

如何在照明组件中使用第三方库 -

闪电框架提供了很多强大的功能。在照明组件中,您的图书馆的功能可能并不总是有效。
在闪电组件中,我们需要将这些库添加到静态资源,然后我们可以使用标记包含库 <ltng:require>
在静态资源下以zip格式上传所有内容。并使用它们<ltng:require> tag.

例子:-

&amp;lt;ltng:require styles="{!$Resource.YourCSSResource}" scripts="{!$Resource.YourJSResource}" afterScriptsLoaded="{!c.afterScriptsLoaded}"/&amp;gt;

垃圾渣滓属性用于在加载脚本后执行一些JavaScript方法。

使用脚本
包括将您上载作为静态资源的JavaScript库,使用a<ltng:require> tag in your .cmp. 或者 。应用程序 markup.
使用样式属性,您可以将.css资源包含在组件或应用程序中,并使用脚本属性您可以将JavaScript资源包含到组件或页面中。

以下是Aura组件的示例:

&amp;lt;aura:component&amp;gt;
&amp;lt;ltng:require styles="{!$Resource.YourCSSResource}" scripts="{!$Resource.YourJSResource}" afterScriptsLoaded="{!c.libLoaded}" /&amp;gt;
&amp;lt;div class='mynamespace'&amp;gt;
&amp;lt;div class="dropdown"&amp;gt;
&amp;lt;ul class="dropdown-menu" role="menu" aria-labelledby="mLabel"&amp;gt;
&amp;lt;li role="presentation"&amp;gt;&amp;lt;a role="menuitem" href=""&amp;gt;Action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li role="presentation"&amp;gt;&amp;lt;a role="menuitem" href=""&amp;gt;Another action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/aura:component&amp;gt;

类MyNamespace,下拉目,下拉菜单将被定义为库。这是如何使用JS函数的方法,该函数将始终在加载脚本后执行。

({
libLoaded: function(component, event, helper) {
alert('ready to go');
}
})

这是jQuery Shorable的示例。我们必须在页面中添加jQuery资源并使用函数来执行功能。

使用CSS框架

您可以为CSS使用Bootstrap类。添加引导资源后,需要在元素上添加类。

在闪电中包含引导脚的步骤:

  • 下载Salesforce.com优化的引导包。
  • 解压缩包装并转到设置> Build > Develop >静态资源,然后单击“新建”。
  • 指定引导程序作为名称,然后单击“选择文件”按钮,然后在“解压缩引导”文件夹的Dist / CSS目录中选择Bootstrap.css。

在静态资源中添加引导程序后,您可以将Bootstrap类与组件元素一起使用。
前任:

&amp;lt;div class="navbar-header"&amp;gt;
&amp;lt;a href="#" class="navbar-brand"&amp;gt;Accounts Details&amp;lt;/a&amp;gt;
&amp;lt;/div&amp;gt;

因此,这就是您可以使用闪电组件通过第三方库实现标准UI的方式。

喋喋不休的用户可以在salesforce中做什么?

喋喋不休的用户可以在salesforce中做什么?

我会通过这个博客来解释你,什么是喋喋不休,如何在Salesforce中使用它以及它在Salesforce中使用它?

 所以,首先,你必须知道 什么是喋喋不休?

Chatter是来自Salesforce的协作平台。它可以用作Intranet,其中每个员工都有带有照片的个人资料页面是你可以用Chatter做的:

  • 您可以创建公共和私人组
  • 您可以邀请您的同事加入群组
  • 您可以与对等体共享文件,链接,问题
  • 在组中添加讨论主题。
  • 此外,在Chatter中,您可以喜欢,评论并分享帖子。

在使用Chatter之前,您必须在Salesforce中喋喋不休。所以我要解释你如何在Salesforce中创建免费的喋喋不休账号?

按照一些步骤在Salesforce中设置Chatter帐户:

  1. 登录Salesforce.>Url: login.salesforce.com.
  2. 去设置>Manage User>Users>click on  New User
      1. 然后创建一个新用户
      2. 在“配置文件”中选择“喋喋不休”和“免费用户”。
  3. 生成用户名后,用户会立即通知用户的登录名和发送到电子邮件的临时密码。

现在问题是 喋喋不休的用户可以做什么?

所以用户可以在喋喋不休中做很多事情,因为

饲料部分简报:

在Feed Section中,您可以检查并管理以下内容:

  • 您可以看到您的更新。
  • 您可以查看谁将帖子发布到您的个人资料中,并且在任何帖子中提到了您。
  • 您可以在其部分中查看书签,静音帖子。

书签帖子:

如何遵循喋喋不休的人:

  • 去人们部分,选择 所有人
  • 您可以看到此用户显示所有用户,并按照用户旁边按照用户遵循任何用户’S名称如给定屏幕截图所示:

关于小组截图:

在本节中,用户可以创建和管理组。跟随事情:

  • 您可以检查最近的任何组活动 最近浏览了一节.
  • 您可以查看自己的团体 我的群体部分

如何创建组&在Chatter中添加成员?

  • 转到组部分,选择我的团体
  • 点击 新集团 button
  • 输入组名称,添加描述。
  • 为小组访问公共,私人。
  • 在此,如果您选择私有,则可以检查允许客户选项。

公共集团:

私人集团:

  • 在活动组部分中,用户可以  通过单击“加入”旁边的“上次活动”,您可以创建一个新组:

如何在Chatter中上传文件:

  • 所有的文件 在“文件”部分下,单击“上载文件”链接,用户可以检查我拥有的文件中是否拥有哪个文件
  • 在所有文件部分中,用户可以在此处检查和管理所有文件 可以改变 共享环境 在给定的屏幕截图中描绘了:

我们如何在喋喋不休中发布?

  • 在Chatter主页上发布,然后单击 邮政 然后点击帖子:
  • 在喋喋不休中发布任何帖子后,将显示帖子 “我跟随什么” 在下面 “喂养” 正如您在下面的屏幕截图中看到的部分:

 

Chatter用户如何共享文件?

您有2个用于共享文件的选项。第一个选择是 从Chatter中选择文件 第二个选择是 从计算机上传文件.

  • 从Chatter中选择文件:

转到文件,从聊天中选择文件,如下所述:

  • 从计算机上传文件:

转到文件,从计算机中选择上载文件,如下所述:

喋喋不休的用户可以像可以分享任何链接一样在喋喋不休中做更多的事情,添加民意调查并提出一些问题。

在Chatter中添加链接:

  • 转到更多删除菜单并选择链接。
  • 为第二部分中的第一个部分和链接名称提供链接。
  • 在旁边的主体中提供一些信息’详细介绍,您也可以形成您的身体文本。
  • 点击共享按钮。

请参阅下面附加的屏幕截图:

在Chatter中添加民意调查:

  • 转到更多删除菜单并选择轮询。
  • 添加一些文本并根据需要填充选择。
  • 分享 按钮。

请参阅下面附加的屏幕截图:

在Chatter中添加问题:

  • 转到更多删除菜单并选择问题。
  • 输入您想要在Chatter中添加的问题
  • 按钮。

请参阅下面附加的屏幕截图:

这完全是关于Chatter。 享受!!

如何加密和解密存储在Salesforce营销云中的数据?

如何加密和解密存储在Salesforce营销云中的数据?

首先,我们应该了解为什么我们需要在Salesforce营销云中加密。花点时间识别对您组织的最可能威胁。这将帮助您区分需要从数据中加密的数据,以便您只能加密您需要的内容。确保您的租户秘密和钥匙被备份,并小心您允许管理您的秘密和钥匙。

  1. 大纲 您组织的威胁模型。排练一个适当的威胁建模练习,以发现面积单位可能对您的组织产生影响的威胁。使用您的调查结果进行信息分类主题,可以帮助您决定编码的知识。
  2. 编码 仅在任何必要的地方。
  • 并非所有知识都很敏感。需要编码以满足您的监管,安全,合规性和隐私需求的目标数据。不必要地加密知识会影响实用性和性能。
  • 提前判断您的知识分类主题,并与安全,合规性和企业IT部门的利益相关者进行概要需求。抵御安全和风险措施的平衡业务实用性,并偶尔挑战您的假设。
  1. 早期生产技术 备份和归档 钥匙和知识。如果您的租户秘密区域单位被摧毁,请重新实现他们访问您的知识。完全符合确保您的知识和租户秘密保障并保持在一个非常安全的地方。 Salesforce无法帮助您删除,销毁或错位的租户秘密。
  2. 感知 编码适用 对于所有或任何用户,尽管他们的权限。
  • 您管理世界卫生组织在明文中读取的加密字段值误解“查看加密数据”权限。但是,尽管用户权限,但在休息时,请在这些字段中保留的信息。
  • 有用的限制区域单位对用户世界卫生组织的强制性与加密知识行为。思考是否将应用于一些业务用户以及该应用程序影响与信息交互的不同用户的方式。
  1. 扫描 受保护的平台编码问题并在您的组织中感知其含义。
  • 判断问题对您的业务答复和实施的影响。
  • 在部署到生产气氛之前,检查保护平台在非常沙箱大气中编码。
  • 在制裁编码之前,修复您刚刚发现的任何违规行为。例如,在一个非常符合子句触发违规的地方引用加密字段。同样,如果您以非常SOQL ORDER BY子句引用加密字段,则会发生违规。在每个情况下,通过删除对加密字段的引用来修复违规行为。
  1. 分析 在部署之前,请查看AppExchange应用程序。
  • 如果您在AppExchange中使用哺乳应用程序中的关联,请查看其在组织中与加密信息进行交互,以及是否有其实用性受到影响。
  • 如果护理应用程序中的关联与在Salesforce之外保持的加密信息交互,但是在处理发生的情况下以及数据受到保护方式。
  • 如果您认为防守平台秘密写作可能会影响应用程序的实用性,提高供应商以方便分析。结合讨论任何必须与捍卫平台秘密写作兼容的定制解决方案。
  • AppExchange上的应用程序,方形措施仅设计了Mistreatment Force.com继承了防守平台秘密写作能力和限制。
  1. 记住,平台秘密写作是’T用户身份验证或授权工具。
  • 使用现场级安全设置,页面布局设置和验证规则,而不是平台秘密写作,以规范用户将看到该信息。
  • 确保用户在不知不觉中授予“View Encrypted Data”许可仍然可以看到仅适用的信息。默认情况下,任何用户都将编辑加密字段,甚至是用户,而不是“查看加密数据”权限。
  1. 授予 “管理秘密写作键”用户仅限许可用户权限。具有“管理秘密写入密钥”权限的用户将生成,导出,导入和销毁特定组织的键。使用Setup Audit Path监控这些用户的关键管理活动。
  1. 授予 “查看加密数据”仅用户对许可用户的权限。授予“查看加密数据”对用户联合国机构的权限应该以明文中的加密字段读取,以及整合用户联合国机构应该以明文扫描敏感信息。虽然“查看加密数据”权限,请访问任何或所有用户都可以访问文件的加密文件可见的正方形措施。
  1. 群众加密 您现有的信息。现有字段和文件信息ISN’在激活捍卫平台秘密写作后机械加密。要在代码现有字段信息中编写,请更新与扇区信息相关的记录。此操作触发了这些记录的秘密写作,因此您现有的信息将静止加密。写入代码现有文件,请联系Salesforce。
  1. 不使用 敏感信息的货币和范围字段。你’LL通常能够在未加密相关的货币或范围字段的同时保留非公共,敏感或受监管的信息安全。加密这些字段可能对平台具有广泛的实际后果,例如对汇总大纲报告,报告时间框架和计算的中断,使得它们仍然存在’t encryptable.
  1. 交流 对您的用户有关秘密写作的影响。在制定生产气氛期间修改防守平台的秘密写作之前,请告知用户有关您的业务答案。例如,只要与您的业务流程相关,共享在捍卫平台秘密写作问题中删除的数据。
  1. 使用自由裁量权 一旦授予登录访问权限。如果具有“查看加密数据”权限的用户权限授予对不同用户的登录访问,则相反的用户处于以明文中的加密字段查看。
  1. 写入代码你的 信息虐待 最前面的电流密钥。生成替换租户秘密后,任何新信息都会被加密误解此密钥。但是,现有的敏感信息仍然是加密的误解以前的键。在此方案期间,Salesforce强烈建议重新加密这些字段误解最新的键。联系Salesforce为促进此类。

要加密某些值,我们必须使用可能是硬编码的一些键值,或者我们也可以使用此键生成密钥:

blob cryptokey = crypto.generateaeskey(256);

我们必须使用相同的密钥来解密该价值。

在这里,我将分享一些代码。希望它会帮助您。我创建了一个VisualForce页面和一个控制器。在页面中,只有一个字段(名称)是有两个按钮(保存& Update). 当在名称字段中输入某些值并单击“保存”按钮,该值将以对象加密格式存储。 现在在URL中记录ID,然后单击“更新”按钮加密值将转换为原始格式。

Visualforce  Page:

<span style="font-weight: 400;"><apex:page standardController="EnCrypt_Decrypt__c" extensions="EncryptExtensioncls"></span><span style="font-weight: 400;">
</span><span style="font-weight: 400;">    <apex:form ></span><span style="font-weight: 400;">
</span><span style="font-weight: 400;">        <apex:pageBlock ></span><span style="font-weight: 400;">
</span><span style="font-weight: 400;">            <apex:pageBlockSection ></span><span style="font-weight: 400;">
</span><span style="font-weight: 400;">                <apex:inputField value="{!encrypt.Name}"/></span><span style="font-weight: 400;">
</span><span style="font-weight: 400;">                <apex:commandButton value="Save" action="{!Save}"/></span><span style="font-weight: 400;">
</span><span style="font-weight: 400;">                <apex:commandButton value="Update" action="{!test}"/></span><span style="font-weight: 400;">
</span><span style="font-weight: 400;">            </apex:pageBlockSection></span><span style="font-weight: 400;">
</span><span style="font-weight: 400;">        </apex:pageBlock></span><span style="font-weight: 400;">
</span><span style="font-weight: 400;">    </apex:form> </span><span style="font-weight: 400;">
</span><span style="font-weight: 400;"></apex:page></span>

Controller:

public class EncryptExtensioncls{
public EnCrypt_Decrypt__c encrypt{get;set;}
 //Blob cryptoKey;
Blob cryptoKey = Blob.valueOf('380db410e8b11fa9');
public Id recordId{get;set;}
public EncryptExtensioncls(ApexPages.StandardController controller){
//cryptoKey = Crypto.generateAesKey(256);
recordId = Apexpages.CurrentPage().getParameters().get('id');
if(recordId !=null){
encrypt = [SELECT id,Name From EnCrypt_Decrypt__c WHERE id=:recordId];
  }else{
encrypt = new EnCrypt_Decrypt__c();
  }
}
public PageReference Save(){
Blob data = Blob.valueOf(encrypt.Name);
Blob encryptedData = Crypto.encryptWithManagedIV('AES128',cryptoKey,data);
String b64Data = EncodingUtil.base64Encode(encryptedData);
encrypt.name = b64Data;
 insert encrypt;
 return null; 
}
public PageReference test(){
 //blob cryptokey = crypto.generateaeskey(256);
 //Blob data = Blob.valueOf(encrypt.Name);
Blob data = EncodingUtil.base64Decode(encrypt.Name);
Blob decryptedData = Crypto.decryptWithManagedIV('AES128',cryptoKey,data);
String dryptData = decryptedData.toString();
System.debug('Printing dryptData '+dryptData);
encrypt.name = dryptData;
 update encrypt;
 return null;
  }
}